Decorator and Factory design patterns are added.