A decorator pattern