The routing service interface, which is part of the domain layer, is implemented by translating our model and delegating work to a remote service in a different context. The recieved routing data is also translated back to our model, forming a cargo itinerary.