Much better approach for handling ShipmentItemSource quantities when ShipmentItem.quantity is changed