When to use streams, groups, link sets, and more