Refactored ProcessCarrier, so it passes in a Carrier instance rather than the carrier's properties as separate parameters.