abstract out moving the player around in order to allow for easier configuration of controls