Is it possible to use ERC20 hooks for extending a token with taxes?

Hi all -

I'm a fan of the OZ contracts and I'd love to build my next token using them as purely as possible. What I'm trying to accomplish is implement fees/taxes on my token without having to modify ERC20.sol.

My first approach was to implement _beforeTokenTransfer but I realised I can't reduce the amount used by the _transfer function, IE the amount to transfer AFTER the taxes had been taken.

I'd love to see the hooks used in a way where they could return either the remaining amount to transfer or the amount to be subtracted from the transfer.

Any ideas on the best way to implement fees/taxes on a contract without modifying the OZ base contracts?