Forwarding though the IdentityManager
Through the IdentityManager contract(AcmeIdentityManager) you are also able to forward transactions to any other contract, for that when you invoke AcmeIdentityManager to forward transactions it will make some verifications and then pass this message to your proxy contract (JhonProxy) which will make some verifications before reaching the desired contract. To clarify this, lets see a diagram to illustrate this flow: