Not sure where it was but someone suggested yielding through active stack, another way to improve or think about this is to make the function pass through current phase.
Like first main stage, opponent does some stuff, you hit the button and it yields through to Pre-Combat step.
Or perhaps, a...