State Engine code - what's missing?

If you'd like OOP and higher level responsibility you could check out my library for state machines: Arduino Playground - FiniteStateMachine Library