I've never tried it with the context decorator in ColdBox, but the decorator pattern in general usually allows for nesting for layering functionality.
The decorator patter is a mixture of inheritance and composition, so you can’t get away from its inheritance because you are creating a family of components, so inheritance is valid. Inheritance is not evil, is just misued the majority of times. But if you are creating a family of components that exhibit the right taxonomy and right relationships, why not.
As for a chain of decorators, maybe that could be a feature request, where you can pass a list/array of decorators to build for you in specific order.
Just remember that everybody has requirements and needs, your feature might be somebody elses “whatever”. So sometimes it is very hard to decide what goes in the core and what does not. That is why I try to always go for the extensibility approach, where the core offers core and if there is anything custom, you can customize it easily.
Luis F. Majano
Ortus Solutions, Corp