The attribute module provides an augmentable Attribute implementation, which
adds configurable attributes and attribute change events to the class being
augmented. It also provides a State class, which is used internally by Attribute,
but can also be used independently to provide a name/property/value data structure to
This module contains the following classes:
- The attribute-base submodule provides core attribute handling support, with everything
aside from complex attribute handling in the provider's constructor.
- Adds support for attribute providers to handle complex attributes in the constructor