Add the agent after a massive refactoring
+ Externalize the agent's plug-ins
+ Beginning of a testing API