What I usually do in this situation is start breaking the logic into smaller sub-microflows instead of keeping everything in one large flow.
For example, if step1, step1.1, and step1.2 belong to the same responsibility or processing block, I would move them into a dedicated sub-microflow and call that from the main flow.
That gives a few advantages:
So instead of:
step1 -> step1.1 -> step1.2 -> step2
I would prefer something conceptually like:
Process Step1 Logic (sub-microflow) -> step2
In larger projects, I usually try to keep the main microflow more orchestration-focused and move detailed processing into sub-microflows wherever it makes sense.