Almost done refactor of movement.