Necessary Changes to Hub Contract for Support of Group Currencies

I am wondering about different implementation options for the GroupCurrencyToken (GCT). As it is used in the prototype, the GCT initiates the token transfer from the sender to itself (or some other storage) and then, in one transaction, initiates the transfer back of “itself” to the sender, so it’s mainly a transactional (transitive) token swap.

For this, I had to adjust this check: circles-protocol-contracts/Hub.sol at 0654dcc2a361c0736aa8c3553afd02b66263f940 · circlesland/circles-protocol-contracts · GitHub to use an “admin” address which maintained on the new Hub.

Any idea if there is another option? For this to work in a real implementation, the “admin” address would have to be a list of GroupCurrencyTokens which would have to be maintained - or it could be the trusts of some dedicated user (or even the Hub itself?)