Description
This is effectively a way to dynamically grow workflow DAGs. Workflow is a non-essential concept, and we should be able to support alternative organizations of jobs. Here, we just need a way to persist a queue, add work to it, and process that work. Then the cleanup should be at job level rather than workflow level. Some other things that are useful are returning the current queue, and (optionally) removing from the queue.