Added constants for the different states
Major refactoring of Position (added tests, made it a proper service, etc.)