Thanks Ashley for the additional information.
In my quiz game I have in each layout "temporal" states, such as "before Quiz starts", "Quiz running", "Quiz Cue 1 Given", "Quiz succeeded" ...
I want to ensure, for example, that when the success event is detected, and hence, Quiz succeeded state is entered, no more cuing occurs. cuing is a counter (with its own states), that runs in parallel.
At the same time I want to separate out code snipplets that deal with different concerns -- hence modularize the code. I don't want for example the cuing timers to know about game states.
So best, if i can place (call back) function that the cuing code calls into a "Gated sheet section" where it can only be invoked when CurrentState<>Success.
Similarly, I would want cuing timers only to run when the game entered the "Running State", and not before -- so they may have their own states that are activated via the main game layout states.
So, all this can be done currently, but i think it would be cleaner if there are designated "sections", each with their "entry condition"