Refactor trips

Pretty similar to before. The main thing changed is the RSpec tests, which are now written to better follow RSpec best practices. In the future we should aim to keep our RSpec tests more alighted with these principles.