I'd like to be able to step through a sequence of commands one at a time.
When the sequence is called it should execute the first command, then on each subsequent call it should execute the next command. When any other action is performed the sequence is interrupted and it should go back to the start.
As well as stepping though sequences, this could be used to create toggle functions out of pairs of functions that lack a toggle version.