Changed Agent from a Trait into an abstract class - required for correct generation of the static forwarder for the `create` method.