Refactor to use common TransferItem.