I don't think this will actually work because `context.add()` should check if the context is already started and fail if it is. So, I think that @johnlockwood-wf is correct and we need to take advantage of returning an `Async`. So I think that what `respawn()` needs to do is to add a callback to the currently executing `Async` that returns a new copy of this `Asyncq (with the respawn header in the options incremented).