UTXOState module can generate deltas on payment and staking addresses as UTXOs are created and spent. It does not need to track balances itself - that will be another downstream module. It can however deal with effects of rollbacks.
The payment and staking changes should be output on two different topics, both optional. As with the UTXODeltasMessage, they should be aggregated by block for efficiency and so the receiver can serialise them if required.
Note that UTXOState is required for this because inputs do not specify the value they are spending, and it needs to serialise because otherwise the spend may arrive before the creation which holds the value.