Copied state manager and state interface
Changed state to be a class
Changed state pointer to be unique
Removed inheritence from singleton from state manager
Nevermind, back to shared pointer on state
Formated state managers
Updated cmake lists
Copied exception
Updated state manager
Merge branch 'feature/state-system' into develop