do we need to have this __?

this.templateName and prototype.getTemplateName seem good enough.

like `stack`, `global` and `blocks` this is an internally stored item which is consistent internally. Using context.* directly is not documented. Only the context.* methods are documented. 

I'm not a fan of the inconsistency. Perhaps having `_stack`, `_global`, '_blocks` but that's a back compat issue.