What & Why
Due to the way it's implemented, transferFrom does emit an Approval event when subtracting the amount being transferred from the allowance. That seems wrong.
Next: check ERC20 spec and reference implementations if this is indeed unexpected behaviour.
If so, check where this is coming from (ERC777 implementation?). Remove.