Extensible template engine