calculate next move *direction* once we have decided what the next move
position is. Move with that direction in mind and only re-calculate once
arrived.