Bunny does this using a thread pool. We could use dispatch queues in a similar way. - [ ] Queue subscribe: blocks on completion of the entire pool of work