Keep protocol amount in addition to current value.
Separate outputs to be routed or matched from the list of available outputs for matching & transaction fees.