refactored generalised moving and collision code into Movable