Decorator refactoring