basic app setup - inject FSM, register commands for the states, setup mediators