This interface is implemented by the Console and provides a number of "Agent" related behaviours.
Arguably it would be possible to implement these directly in the org.apache.qpid.qmf2.console.Agent class but as it happens they tend to use more Console behaviours, for example refresh() and invokeMethod() are pretty much about constructing the appropriate JMS Message, so have more in common with the rest of org.apache.qpid.qmf2.console.Console.
The purpose of this interface is primarily about removing a circular dependency between Console and Agent so the Agent doesn't invoke these methods on a Console instance, rather it invokes them on an AgentProxy instance.
The following diagram illustrates the interactions between the Console, AgentProxy and the client side Agent representation.
@author Fraser Adams