Implement Decorator and tests