construct a application level state machine
create a namespace for the game
define event transitions