Instead of using an extension point, the new mechanism uses descriptors (one of `Option`, `BoolOption`, `IntOption`, `ListOption`, or `ExtensionOption`) that can be added to any class (but especially `Component` subclasses), allowing direct access to the configured value. The `Option` class keeps a registry of all declared options, so that the defaults also work when the option is accessed through the `Configuration` object.
This also replaces the `SingleExtensionPoint` by the `ExtensionOption` descriptor.