Project setup and some initial state machine work.