A decorator is a specialised chain allowing to add behaviour to an object after the fact, for example scrolling added to an arbitrary widget.