- Use a Queue to manage the directions.
- Avoid multiple calls to move when already moving in that direction.