TODO
====

* Untangle the whole ITemplateFactory and ITemplate mess (less obscure
  method names and less indirection would be nice)
