added a StateManager component