The base module provides the Base class, which objects requiring attribute and custom event support can extend.
The module also provides two ways to reuse code - An augmentable Plugin.Host interface which provides plugin support
(which is augmented to the Base class) and Base.build which provides a way to
build custom classes using extensions.
This module contains the following classes:
- The base-base submodule provides the Base class without the Plugin support, provided by Plugin.Host,
and without the extension support provided by Base.build.
- The base-pluginhost submodule adds Plugin support to Base, by augmenting Base with
Plugin.Host and setting up static (class level) Base.plug and Base.unplug methods.
- The base-build submodule provides Base.build functionality, which
can be used to create custom classes, by aggregating extensions onto
a main class.