Added Behaviours Abstraction and MovementBehaviour class