a simple template engine that generates a document fragment that will update the correct nodes when its source data changes