Ability to define custom movement functions