That’s the key.
@milenz - if you only want to run it once (i.e. there is no transactions, it’s just a linear process) - either alter the GetTransactionData state (remove current invokes and just set/invoke your custom one) or delete it altogether if that step is completely unneeded.
I’d even suggest that if it’s a sequential process, don’t go with ReFramework. Borrow from it, sure, but don’t try to force your process into something that isn’t built for it.
Either they will be extended and you know it, in which case set up 1 “dummy” transaction for each run and go with ReFramework as-is.
Or you don’t know if it will be extended, in which case you’re wasting time and delaying the project.
From Martin Fowler on Yagni article:
The common reason why people build presumptive features is because they think it will be cheaper to build it now rather than build it later. But that cost comparison has to be made at least against the cost of delay, preferably factoring in the probability that you’re building an unnecessary feature, for which your odds are at least ⅔.
There is a chance you will need it. If you feel that way, set up the queue. If not, don’t force it.
As @priyanka.yadav18 said, it’s just a framework, and as Webster defines it:
: the basic structure of something : a set of ideas or facts that provide support for something
: a supporting structure : a structural frame
a framework is there to help you. If it doesn’t, reexamine what you need before you start changing the problem to fit the solution.