E.g. by separating out the execution and future/promise definition to a separate `(run-workflow wf)` stage. In this proposed approach, `(workflow)` and `(defstep)` would be modified only create the workflow definitions, not the workflow instance.