Note that if you do this you are committed to making sure that any sequence of “states” you call must be able to handle any possible external interruption at any point. In other words, you must be super vigilant against race conditions. With the “idle” method, one can choose where in a sequence of steps one will accept outside input.
For example, if you had the macro:
Take Data
Analysis Data
Save Analysis
and also a “Set Parameter” event that changes a parameter used in Analysis and Save, then you have a race condition where the analysis may be saved with a different parameter value, if the “Set Parameter” happens between Analysis and Save.