Move user input to swap the offset in global state and have all entities that rely on it to read from there instead of the Player
Add in state watchers for entities to log changes in entities