Added the decorator pattern.