We are using a saga to model a workflow. This workflow waits for events to come in and perform some work based on the events. In some cases, we need to perform multiple tasks (chained .Then methods) one after the other but if one fails we want to compensate the entire chain. Routing slips seem appropriate but I'm not sure if such a routing slip can be executed from a Then method in a saga?