Description: | In any sufficiently-sized application or framework, it's common to end up
lumping a lot of different concerns into the same class. For example, you may
have business logic, persistence code, and UI all jammed into a single class.
Attribute and method names for all sorts of different operations get shoved
into a single namespace -- even when using mixin classes.
Separating concerns into different objects, however, makes it easier to write
reusable and separately-testable components. The AddOns package
(``peak.util.addons``) lets you manage concerns using ``AddOn`` classes. |