complete refactoring of the MovementManager class