Wrap the workflow in a ControlFlow and get rid of the halt method, callbacks can now return a rejected promise via stopWorkflow.