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 - It augments Base with the Plugin.Host interface which provides plugin support and also provides the BaseCore.build method which provides a way to build custom classes using extensions.
This module is a rollup of the following modules:
The base-base submodule provides the Base class without the Plugin support, provided by Plugin.Host, and without the extension support provided by BaseCore.build.
The base-build submodule provides Base.build functionality, which can be used to create custom classes, by aggregating extensions onto a main class.
The base-core module provides the BaseCore class, the lightest version of Base, which provides Base's basic lifecycle management and ATTRS construction support, but doesn't fire init/destroy or attribute change events.
It mixes in AttributeCore, which is the lightest version of Attribute
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.