Extensible TemplateFactory