Refactoring StateVertex so it can become an interface