Constructor for decorator chain
Whether empty or not
The first decorator in chain of decorators.
Move to next decorator in chain
Save decorator range.
The original type of component attempted to interpret as a range of decorators.
type each decorator in decorator chain.
DecoratorChain!(ComponentType, DecoratorType) the range.
Treat component as a chain of decorated entities and express this as a range of decorators.