Refactoring: separated the logic from the data structure.
Refactoring: separated out the travel functionality from the unit test.