sagas are meant to be coordinators of processes, not implementations of whole processes. Every single step, like doing a service call, or processing some data should be addressed using a regular handler. A single saga instance, should obtain all the data needed to proceed from its inputs (messages) and communicate with the rest of the world with messages as well. It’s a powerful coordinator, but still, just a coordinator.
Does it answer your question?