Changed to a real decorator pattern.