Added the decorator and chain of responsibility patterns