Design patterns: Decorator e State