public void Process(Order order) { var tags = productCatalog.GetTags(order.ProductId); var packingSlip = packingSlipBuilder(); newMembership(order.Payment, tags); upgradeMembership(order.Payment, tags); sendMembershipChangeNotification(order.Payment, tags); addFirstAidVideo(tags, packingSlip); sendSlipToWarehouse(tags, packingSlip); sendSlipToRoyalty(tags, packingSlip); generateCommision(order, tags); }