some refactoring to the MovementManager