Saying that the abstract base class (Agent) is where most of you plugin logic should live may be a little confusing for java developers, since their code doesn't go in the abstract class, but rather the concrete class that extends the abstract base class. It may be clearer to remove the first sentence and change the second to say that you `will create a class that extends the abstract base class Agent ...`