give a name to the input
a very rough sketch of how we might want to implement the state machine
Merge pull request #2 from glyph/improving-app-states

State machines woohoo!!!