Singleton and TemplateMethod patterns are added.