Added a generic implementation of the Decorator pattern.