We don't want to give extensions direct access to the agent object or else we will run the risk of breaking extensions all of the time during any kind of agent reorganization or refactoring. Having a well defined API in between will give us flexibility to move things around.
Copying my response from the ML thread:
We don't want to give extensions direct access to the agent object or else we will run the risk of breaking extensions all of the time during any kind of agent reorganization or refactoring. Having a well defined API in between will give us flexibility to move things around.