well if you're starting from scratch....
I'd like to see:
-named states: State "idle" (you could still use numbers internally for speed)
-transitions as event strings:
+State Machine: go from "idle" to "running" on "run key pressed" (this action adds the transition)
+State Machine: process event "run key pressed" (this would trigger the previously added transition if the machine was in state "idle")
-detailed events: On State enter, Is in state, On state leave. These should be mutually exclusive, that is, only one of them will fire at any given time.
I realize I might be asking too much
let me know if that's the case.