remove ITemplateObserver related code, add template render() overload with a StringEscaper param instead