Extension Points
An extension point is characterized by the following properties:
An ID by which it can be referenced.
An interface to be implemented by plug-ins. In most cases there is also an abstract base class available that implements the interface. It is recommended to extend this class for your own extensions.
Names of properties to be provided by a plug-in.
Optionally, it may be related / compared to a corresponding extension point offered in an Eclipse environment.
An extension point provides the name of a class that implements the interface and property values. In general, if there is an abstract base class, its usage is strongly encouraged.