Worked on state machine framework, added StateComponent