Using a model to represent a route
Can easily be re used by implementations that use the route