This template logic can be easily replaced by ES6 template literals http://people.mozilla.org/~jorendorff/es6-draft.html#sec-7.8.6

From what I can tell, the calendar "templates" aren't templates—they're just more "concatenated strings in JS". Communications/Contacts conflates template operations and DOM operations and has a delimiter pattern that does not match the future of JavaScript (`#foo#` vs `${foo}`). Email has some template functionality, but it's _very_ tightly coupled in `mail-common.js` (and it looks like DOM manipulation, not string rendering). Homescreen/Everything.me is similar to Email: tightly coupled, hard coded implementation details, etc...