As discussed here:
The polkadot way of doing this is to use Imbalance type from pallet-assets:
We got to talk to @gregzaitsev about it first though, because he’s writing a lot of new code which would violate it, so he really, really needs to be on board with this, maybe it’d be good if he’d be the one to deploy the first usage of it in the code, so that the mechanism is added by the team that ends up maintaining it. Fortunately this doesn’t need to be implemented all at once, but there can be smaller PRs changing the code from the current way to the better way.
I imagine we’ll hook proper events to it, so that fund movements always emit events for the tax man etc.