Changed ApplicationStateManager into a FiniteStackStateMachine, implemented PauseState. One bug encountered was unpausing and teleporting due to time based movement... may change back to frame based movement