Should put a comment here to say why the context is being wrapped (even though I didn't do that myself in the ones I wrote).  Could say "wrap context to prevent changes to properties map".  (If any of the templates set a variable, that gets set in the context.  If we didn't wrap, that change would be made in inProperties since it is the backing store for the one context.)