Reduce coupling

Reduced coupling by creating interfaces for `StateVertex` and `StateFlowGraph`. This will also happen for `Eventable` later on.