Basic implementation of ScreenManager and StateManager