If progress == Distance, we must not move again on the same tick, but still 'return true' to avoid losing a tick in the case when this is the last Move tick followed by a different activity (or a new queued Move, for example via waypoints).