IState: methods for transitions
StateTransition: initial commit
StateTransition: finished implementation

1) we need a math class
2) the functor is very unsafe, should safen that thing up and make it
more robust