I have a program that requires a large number of tasks being run concurrently, but not in parallel. When I started working on this program I explored some options (Callback