Moved from inheritance to a decorator pattern