I am having problems when trying to implement the interactors using the command pattern for "multi-step" use cases, such as "Process Sale", in which you are incrementally performing the use case instead of sending all the data at once (first initialize the sale with the current date and logged in employee, then add the items one by one showing the details of each one and updating the total, and finally register the sale with its payment, validating the data incrementally).
Additionally, most of the time the order in which the operations are executed in this kind of use case should also be validated (for example, cannot enter an item if the sale was already paid).
If we want to implement this kind of use case, will only one interactor be needed, or one per operation? (for example, one to start the sale, another to enter an item, and so on) Where do we keep the state of the transaction? And should we separate that state from the operations that modify it?