Do not directly use Travel but ObservableTravel in both GUI and CLI