The solution

Delegated transactions embedded directly into a (token) smart contract

Paying fees in the actual token can be implemented directly in the tokens smart contract. It is possible to implement a function in a smart contract, which will transfer tokens accepting the user's signature, instead of requiring the user to call this function directly. We have implemented this approach in all our DeCash tokens.

Decash