#22 - added default TemplateFactory implementation