Wow. Sift works great. Thanks alot for your help!
Sift is pretty good for flow control. It was the last component added to do this sort of thing and in my opinion the best one. It is especially flexible when used in conjunction with Combine. You can sift data into two or more streams, do different things for each stream, then put everything back together again in the correct order.
Once sift was introduced I never used dispatch again