I have to admit that I'm a bit unclear on the motivation for all this. As Gordon said, the state machine approach seems like it would be a good approach.
If i understand what you mean by state machine programming, it's pretty inherently uncompartmented, all the combinations of state variables need to be accounted for, so the number of states grows factorially on the number of state vars, in general it's awkward. The advantage of going with what functional folks come up with, like continuations, is that it tends to be well compartmented - functional. (Come to think of it, i suppose that compartmentalization as opposed to state is their mania.)
As abstract as i can be (because i hardly know what i'm talking about) (but i have done some specifically finite state machine programming, and did not enjoy it),