diff --git a/app/assets/javascripts/admin/templates/backups_index.js.handlebars b/app/assets/javascripts/admin/templates/backups_index.js.handlebars
index cfce46b1b..780119c47 100644
--- a/app/assets/javascripts/admin/templates/backups_index.js.handlebars
+++ b/app/assets/javascripts/admin/templates/backups_index.js.handlebars
@@ -12,7 +12,7 @@
   {{#each backup in model}}
     <tr>
       <td>{{backup.filename}}</td>
-      <td>{{humanSize backup.size}}</td>
+      <td>{{human-size backup.size}}</td>
       <td>
         <div class="pull-right">
           <a {{bind-attr href="backup.link"}} class="btn download" title="{{i18n admin.backups.operations.download.title}}"><i class="fa fa-download"></i>{{i18n admin.backups.operations.download.text}}</a>
diff --git a/app/assets/javascripts/admin/templates/email_all.js.handlebars b/app/assets/javascripts/admin/templates/email_all.js.handlebars
index 784136f2d..48b0e0e86 100644
--- a/app/assets/javascripts/admin/templates/email_all.js.handlebars
+++ b/app/assets/javascripts/admin/templates/email_all.js.handlebars
@@ -19,7 +19,7 @@
 
   {{#each model}}
     <tr>
-      <td>{{unboundDate created_at}}</td>
+      <td>{{date created_at}}</td>
       <td>
         {{#if user}}
           {{#link-to 'adminUser' user}}{{avatar user imageSize="tiny"}}{{/link-to}}
diff --git a/app/assets/javascripts/admin/templates/email_sent.js.handlebars b/app/assets/javascripts/admin/templates/email_sent.js.handlebars
index 7da464510..57029ac8e 100644
--- a/app/assets/javascripts/admin/templates/email_sent.js.handlebars
+++ b/app/assets/javascripts/admin/templates/email_sent.js.handlebars
@@ -19,7 +19,7 @@
 
   {{#each model}}
     <tr>
-      <td>{{unboundDate created_at}}</td>
+      <td>{{date created_at}}</td>
       <td>
         {{#if user}}
           {{#link-to 'adminUser' user}}{{avatar user imageSize="tiny"}}{{/link-to}}
diff --git a/app/assets/javascripts/admin/templates/email_skipped.js.handlebars b/app/assets/javascripts/admin/templates/email_skipped.js.handlebars
index 784136f2d..48b0e0e86 100644
--- a/app/assets/javascripts/admin/templates/email_skipped.js.handlebars
+++ b/app/assets/javascripts/admin/templates/email_skipped.js.handlebars
@@ -19,7 +19,7 @@
 
   {{#each model}}
     <tr>
-      <td>{{unboundDate created_at}}</td>
+      <td>{{date created_at}}</td>
       <td>
         {{#if user}}
           {{#link-to 'adminUser' user}}{{avatar user imageSize="tiny"}}{{/link-to}}
diff --git a/app/assets/javascripts/admin/templates/flags.js.handlebars b/app/assets/javascripts/admin/templates/flags.js.handlebars
index e34127199..12b45b2bf 100644
--- a/app/assets/javascripts/admin/templates/flags.js.handlebars
+++ b/app/assets/javascripts/admin/templates/flags.js.handlebars
@@ -51,7 +51,7 @@
                       {{#link-to 'adminUser' this.user}}{{avatar this.user imageSize="small"}} {{/link-to}}
                     </td>
                     <td>
-                      {{unboundDate this.flaggedAt}}
+                      {{date this.flaggedAt}}
                     </td>
                     <td>
                       {{this.flagType}}
diff --git a/app/assets/javascripts/admin/templates/logs/screened_emails_list_item.js.handlebars b/app/assets/javascripts/admin/templates/logs/screened_emails_list_item.js.handlebars
index cfffc7fd5..ca574ceb8 100644
--- a/app/assets/javascripts/admin/templates/logs/screened_emails_list_item.js.handlebars
+++ b/app/assets/javascripts/admin/templates/logs/screened_emails_list_item.js.handlebars
@@ -3,8 +3,8 @@
 </div>
 <div class="col action">{{actionName}}</div>
 <div class="col match_count">{{match_count}}</div>
-<div class="col last_match_at">{{unboundAgeWithTooltip last_match_at}}</div>
-<div class="col created_at">{{unboundAgeWithTooltip created_at}}</div>
+<div class="col last_match_at">{{age-with-tooltip last_match_at}}</div>
+<div class="col created_at">{{age-with-tooltip created_at}}</div>
 <div class="col ip_address">{{ip_address}}</div>
 <div class="col action"><button class="btn" {{action clearBlock this}}><i class='fa fa-check'></i> {{i18n admin.logs.screened_emails.actions.allow}}</button></div>
 <div class="clearfix"></div>
diff --git a/app/assets/javascripts/admin/templates/logs/screened_ip_addresses_list_item.js.handlebars b/app/assets/javascripts/admin/templates/logs/screened_ip_addresses_list_item.js.handlebars
index 130fa69a9..4bd84e47a 100644
--- a/app/assets/javascripts/admin/templates/logs/screened_ip_addresses_list_item.js.handlebars
+++ b/app/assets/javascripts/admin/templates/logs/screened_ip_addresses_list_item.js.handlebars
@@ -12,10 +12,10 @@
 <div class="col match_count">{{match_count}}</div>
 <div class="col last_match_at">
   {{#if last_match_at}}
-    {{unboundAgeWithTooltip last_match_at}}
+    {{age-with-tooltip last_match_at}}
   {{/if}}
 </div>
-<div class="col created_at">{{unboundAgeWithTooltip created_at}}</div>
+<div class="col created_at">{{age-with-tooltip created_at}}</div>
 <div class="col actions">
   {{#unless editing}}
     <button class="btn btn-danger" {{action destroy this}}><i class="fa fa-trash-o"></i> {{i18n admin.logs.delete}}</button>
diff --git a/app/assets/javascripts/admin/templates/logs/screened_urls_list_item.js.handlebars b/app/assets/javascripts/admin/templates/logs/screened_urls_list_item.js.handlebars
index 659ceccd7..51589bf2c 100644
--- a/app/assets/javascripts/admin/templates/logs/screened_urls_list_item.js.handlebars
+++ b/app/assets/javascripts/admin/templates/logs/screened_urls_list_item.js.handlebars
@@ -3,6 +3,6 @@
 </div>
 <div class="col action">{{actionName}}</div>
 <div class="col match_count">{{match_count}}</div>
-<div class="col last_match_at">{{unboundAgeWithTooltip last_match_at}}</div>
-<div class="col created_at">{{unboundAgeWithTooltip created_at}}</div>
+<div class="col last_match_at">{{age-with-tooltip last_match_at}}</div>
+<div class="col created_at">{{age-with-tooltip created_at}}</div>
 <div class="clearfix"></div>
diff --git a/app/assets/javascripts/admin/templates/logs/staff_action_logs_list_item.js.handlebars b/app/assets/javascripts/admin/templates/logs/staff_action_logs_list_item.js.handlebars
index 65ae8c098..14f5938f4 100644
--- a/app/assets/javascripts/admin/templates/logs/staff_action_logs_list_item.js.handlebars
+++ b/app/assets/javascripts/admin/templates/logs/staff_action_logs_list_item.js.handlebars
@@ -14,7 +14,7 @@
     <a {{action filterBySubject subject}} {{bind-attr title="subject"}}  class="btn btn-small">{{subject}}</a>
   {{/if}}
 </div>
-<div class="col value created_at">{{unboundAgeWithTooltip created_at}}</div>
+<div class="col value created_at">{{age-with-tooltip created_at}}</div>
 <div class="col value details">
   {{{formattedDetails}}}
   {{#if useCustomModalForDetails}}
diff --git a/app/assets/javascripts/admin/templates/user_badges.js.handlebars b/app/assets/javascripts/admin/templates/user_badges.js.handlebars
index 2401b9cee..faa16f001 100644
--- a/app/assets/javascripts/admin/templates/user_badges.js.handlebars
+++ b/app/assets/javascripts/admin/templates/user_badges.js.handlebars
@@ -42,7 +42,7 @@
               {{granted_by.username}}
             {{/link-to}}
           </td>
-          <td>{{unboundAgeWithTooltip granted_at}}</td>
+          <td>{{age-with-tooltip granted_at}}</td>
           <td>
             <button class='btn' {{action revokeBadge this}}>{{i18n admin.badges.revoke}}</button>
           </td>
diff --git a/app/assets/javascripts/admin/templates/version_checks.js.handlebars b/app/assets/javascripts/admin/templates/version_checks.js.handlebars
index cbac65565..49009e47d 100644
--- a/app/assets/javascripts/admin/templates/version_checks.js.handlebars
+++ b/app/assets/javascripts/admin/templates/version_checks.js.handlebars
@@ -2,7 +2,7 @@
     <div {{bind-attr class=":dashboard-stats :version-check versionCheck.critical_updates:critical:normal"}}>
       <table class="table table-condensed table-hover">
         <thead>
-          {{customHTML 'upgrade-header'}}
+          {{custom-html 'upgrade-header'}}
           <tr>
             <th>&nbsp;</th>
             <th>{{i18n admin.dashboard.installed_version}}</th>
diff --git a/app/assets/javascripts/discourse/components/category-group.js.es6 b/app/assets/javascripts/discourse/components/category-group.js.es6
index 2859e3bd0..99c5c1e04 100644
--- a/app/assets/javascripts/discourse/components/category-group.js.es6
+++ b/app/assets/javascripts/discourse/components/category-group.js.es6
@@ -5,7 +5,7 @@ function templateFunction() {
                                 "<ul>" +
                                 "{{#each options}}" +
                                   "<li>" +
-                                      "{{categoryLinkRaw this allowUncategorized=true}}" +
+                                      "{{category-link-raw this allowUncategorized=true}}" +
                                   "</li>" +
                                   "{{/each}}" +
                                 "</ul>" +
diff --git a/app/assets/javascripts/discourse/helpers/application_helpers.js b/app/assets/javascripts/discourse/helpers/application_helpers.js
index aace8f17f..d89bd512b 100644
--- a/app/assets/javascripts/discourse/helpers/application_helpers.js
+++ b/app/assets/javascripts/discourse/helpers/application_helpers.js
@@ -1,21 +1,3 @@
-/**
-  Breaks up a long string
-
-  @method breakUp
-  @for Handlebars
-**/
-Handlebars.registerHelper('breakUp', function(property, hint, options) {
-  var prop = Ember.Handlebars.get(this, property, options);
-  if (!prop) return "";
-  if (typeof(hint) === 'string') {
-    hint = Ember.Handlebars.get(this, hint, options);
-  } else {
-    hint = undefined;
-  }
-
-  return new Handlebars.SafeString(Discourse.Formatter.breakUp(prop, hint));
-});
-
 // helper function for dates
 function daysSinceEpoch(dt) {
   // 1000 * 60 * 60 * 24 = days since epoch
@@ -25,9 +7,10 @@ function daysSinceEpoch(dt) {
 /**
   Converts a date to a coldmap class
 
-  @method coldDate
+  @method cold-age-class
+  @for Handlebars
 **/
-Handlebars.registerHelper('coldAgeClass', function(property, options) {
+Handlebars.registerHelper('cold-age-class', function(property, options) {
   var dt = Em.Handlebars.get(this, property, options);
 
   if (!dt) { return 'age'; }
@@ -56,10 +39,10 @@ Handlebars.registerHelper('shorten', function(property, options) {
 /**
   Produces a link to a topic
 
-  @method topicLink
+  @method topic-link
   @for Handlebars
 **/
-Handlebars.registerHelper('topicLink', function(property, options) {
+Handlebars.registerHelper('topic-link', function(property, options) {
   var topic = Ember.Handlebars.get(this, property, options),
       title = topic.get('fancy_title');
   return "<a href='" + topic.get('lastUnreadUrl') + "' class='title'>" + title + "</a>";
@@ -90,18 +73,18 @@ function categoryLinkHTML(category, options) {
 /**
   Produces a link to a category
 
-  @method categoryLink
+  @method category-link
   @for Handlebars
 **/
-Handlebars.registerHelper('categoryLink', function(property, options) {
+Handlebars.registerHelper('category-link', function(property, options) {
   return categoryLinkHTML(Ember.Handlebars.get(this, property, options), options);
 });
 
-Handlebars.registerHelper('categoryLinkRaw', function(property, options) {
+Handlebars.registerHelper('category-link-raw', function(property, options) {
   return categoryLinkHTML(property, options);
 });
 
-Handlebars.registerHelper('categoryBadge', function(property, options) {
+Handlebars.registerHelper('category-badge', function(property, options) {
   options.hash.link = false;
   return categoryLinkHTML(Ember.Handlebars.get(this, property, options), options);
 });
@@ -110,18 +93,18 @@ Handlebars.registerHelper('categoryBadge', function(property, options) {
 /**
   Produces a bound link to a category
 
-  @method boundCategoryLink
+  @method bound-category-link
   @for Handlebars
 **/
-Ember.Handlebars.registerBoundHelper('boundCategoryLink', categoryLinkHTML);
+Em.Handlebars.helper('bound-category-link', categoryLinkHTML);
 
 /**
   Produces a link to a route with support for i18n on the title
 
-  @method titledLinkTo
+  @method titled-link-to
   @for Handlebars
 **/
-Handlebars.registerHelper('titledLinkTo', function(name, object) {
+Handlebars.registerHelper('titled-link-to', function(name, object) {
   var options = [].slice.call(arguments, -1)[0];
   if (options.hash.titleKey) {
     options.hash.title = I18n.t(options.hash.titleKey);
@@ -139,7 +122,7 @@ Handlebars.registerHelper('titledLinkTo', function(name, object) {
   @method shortenUrl
   @for Handlebars
 **/
-Handlebars.registerHelper('shortenUrl', function(property, options) {
+Handlebars.registerHelper('shorten-url', function(property, options) {
   var url, matches;
   url = Ember.Handlebars.get(this, property, options);
   // Remove trailing slash if it's a top level URL
@@ -152,22 +135,6 @@ Handlebars.registerHelper('shortenUrl', function(property, options) {
   return url.substring(0,80);
 });
 
-/**
-  Display a property in lower case
-
-  @method lower
-  @for Handlebars
-**/
-Handlebars.registerHelper('lower', function(property, options) {
-  var o;
-  o = Ember.Handlebars.get(this, property, options);
-  if (o && typeof o === 'string') {
-    return o.toLowerCase();
-  } else {
-    return "";
-  }
-});
-
 /**
   Show an avatar for a user, intelligently making use of available properties
 
@@ -217,10 +184,10 @@ Handlebars.registerHelper('avatar', function(user, options) {
 /**
   Bound avatar helper.
 
-  @method boundAvatar
+  @method bound-avatar
   @for Handlebars
 **/
-Ember.Handlebars.registerBoundHelper('boundAvatar', function(user, size, uploadId) {
+Em.Handlebars.helper('bound-avatar', function(user, size, uploadId) {
 
   var username = Em.get(user, 'username');
 
@@ -239,7 +206,7 @@ Ember.Handlebars.registerBoundHelper('boundAvatar', function(user, size, uploadI
 /*
  * Used when we only have a template
  */
-Ember.Handlebars.registerBoundHelper('boundAvatarTemplate', function(avatarTemplate, size) {
+Em.Handlebars.helper('bound-avatar-template', function(avatarTemplate, size) {
   return new Handlebars.SafeString(Discourse.Utilities.avatarImg({
     size: size,
     avatarTemplate: avatarTemplate
@@ -249,21 +216,31 @@ Ember.Handlebars.registerBoundHelper('boundAvatarTemplate', function(avatarTempl
 /**
   Nicely format a date without binding or returning HTML
 
-  @method rawDate
+  @method raw-date
   @for Handlebars
 **/
-Handlebars.registerHelper('rawDate', function(property, options) {
+Handlebars.registerHelper('raw-date', function(property, options) {
   var dt = new Date(Ember.Handlebars.get(this, property, options));
   return Discourse.Formatter.longDate(dt);
 });
 
 /**
-  Live refreshing age helper
+  Nicely format a bound date without returning HTML
 
-  @method unboundAge
+  @method bound-raw-date
   @for Handlebars
 **/
-Handlebars.registerHelper('unboundAge', function(property, options) {
+Em.Handlebars.helper('bound-raw-date', function (date) {
+  return Discourse.Formatter.longDate(new Date(date));
+});
+
+/**
+  Live refreshing age helper
+
+  @method age
+  @for Handlebars
+**/
+Handlebars.registerHelper('age', function(property, options) {
   var dt = new Date(Ember.Handlebars.get(this, property, options));
   return new Handlebars.SafeString(Discourse.Formatter.autoUpdatingRelativeAge(dt));
 });
@@ -271,50 +248,14 @@ Handlebars.registerHelper('unboundAge', function(property, options) {
 /**
   Live refreshing age helper, with a tooltip showing the date and time
 
-  @method unboundAgeWithTooltip
+  @method age-with-tooltip
   @for Handlebars
 **/
-Handlebars.registerHelper('unboundAgeWithTooltip', function(property, options) {
+Handlebars.registerHelper('age-with-tooltip', function(property, options) {
   var dt = new Date(Ember.Handlebars.get(this, property, options));
   return new Handlebars.SafeString(Discourse.Formatter.autoUpdatingRelativeAge(dt, {title: true}));
 });
 
-/**
-  Display a date related to an edit of a post
-
-  @method editDate
-  @for Handlebars
-**/
-Handlebars.registerHelper('editDate', function(property, options) {
-  // autoupdating this is going to be painful
-  var date = new Date(Ember.Handlebars.get(this, property, options));
-  return new Handlebars.SafeString(Discourse.Formatter.autoUpdatingRelativeAge(date, {format: 'medium', title: true, leaveAgo: true, wrapInSpan: false}));
-});
-
-/**
-  Displays a percentile based on a `percent_rank` field
-
-  @method percentile
-  @for Ember.Handlebars
-**/
-Ember.Handlebars.registerHelper('percentile', function(property, options) {
-  var percentile = Ember.Handlebars.get(this, property, options);
-  return Math.round((1.0 - percentile) * 100);
-});
-
-/**
-  Displays a float nicely
-
-  @method float
-  @for Ember.Handlebars
-**/
-Ember.Handlebars.registerHelper('float', function(property, options) {
-  var x = Ember.Handlebars.get(this, property, options);
-  if (!x) return "0";
-  if (Math.round(x) === x) return x;
-  return x.toFixed(3);
-});
-
 /**
   Display logic for numbers.
 
@@ -351,10 +292,10 @@ Handlebars.registerHelper('number', function(property, options) {
   Display logic for dates. It is unbound in Ember but will use jQuery to
   update the dates on a regular interval.
 
-  @method unboundDate
+  @method date
   @for Handlebars
 **/
-Handlebars.registerHelper('unboundDate', function(property, options) {
+Handlebars.registerHelper('date', function(property, options) {
   var leaveAgo;
   if (property.hash) {
     if (property.hash.leaveAgo) {
@@ -372,7 +313,7 @@ Handlebars.registerHelper('unboundDate', function(property, options) {
   }
 });
 
-Ember.Handlebars.registerBoundHelper('date', function(dt) {
+Em.Handlebars.helper('bound-date', function(dt) {
   return new Handlebars.SafeString(Discourse.Formatter.autoUpdatingRelativeAge(new Date(dt), {format: 'medium', title: true }));
 });
 
@@ -380,10 +321,10 @@ Ember.Handlebars.registerBoundHelper('date', function(dt) {
   Look for custom html content using `Discourse.HTML`. If none exists, look for a template
   to render with that name.
 
-  @method customHTML
+  @method custom-html
   @for Handlebars
 **/
-Handlebars.registerHelper('customHTML', function(name, contextString, options) {
+Handlebars.registerHelper('custom-html', function(name, contextString, options) {
   var html = Discourse.HTML.getCustomHTML(name);
   if (html) { return html; }
 
@@ -394,7 +335,7 @@ Handlebars.registerHelper('customHTML', function(name, contextString, options) {
   }
 });
 
-Ember.Handlebars.registerBoundHelper('humanSize', function(size) {
+Em.Handlebars.helper('human-size', function(size) {
   return new Handlebars.SafeString(I18n.toHumanSize(size));
 });
 
diff --git a/app/assets/javascripts/discourse/templates/badges/show.js.handlebars b/app/assets/javascripts/discourse/templates/badges/show.js.handlebars
index a1a300571..e113ccf27 100644
--- a/app/assets/javascripts/discourse/templates/badges/show.js.handlebars
+++ b/app/assets/javascripts/discourse/templates/badges/show.js.handlebars
@@ -21,7 +21,7 @@
             {{avatar user imageSize="large"}}
             <div class="details">
               <span class="username">{{user.username}}</span>
-              {{unboundDate granted_at}}
+              {{date granted_at}}
             </div>
           </div>
         {{/link-to}}
diff --git a/app/assets/javascripts/discourse/templates/components/basic-topic-list.js.handlebars b/app/assets/javascripts/discourse/templates/components/basic-topic-list.js.handlebars
index f5126ba1a..950553294 100644
--- a/app/assets/javascripts/discourse/templates/components/basic-topic-list.js.handlebars
+++ b/app/assets/javascripts/discourse/templates/components/basic-topic-list.js.handlebars
@@ -37,7 +37,7 @@
 
             {{#unless controller.hideCategory}}
               <td class="category">
-                {{categoryLink topic.category showParent=true}}
+                {{category-link topic.category showParent=true}}
               </td>
             {{/unless}}
 
@@ -65,14 +65,14 @@
 
             {{#if topic.bumped}}
               <td class='num activity'>
-                <a href="{{unbound topic.url}}" class='{{coldAgeClass created_at}}' title='{{i18n first_post}}: {{{rawDate topic.created_at}}}' >{{unboundAge topic.created_at}}</a>
+                <a href="{{unbound topic.url}}" class='{{cold-age-class created_at}}' title='{{i18n first_post}}: {{{raw-date topic.created_at}}}' >{{age topic.created_at}}</a>
               </td>
               <td class='num activity last'>
-                <a href="{{unbound topic.lastPostUrl}}" class='{{coldAgeClass bumped_at}}' title='{{i18n last_post}}: {{{rawDate topic.bumped_at}}}'>{{unboundAge topic.bumped_at}}</a>
+                <a href="{{unbound topic.lastPostUrl}}" class='{{cold-age-class bumped_at}}' title='{{i18n last_post}}: {{{raw-date topic.bumped_at}}}'>{{age topic.bumped_at}}</a>
               </td>
             {{else}}
               <td class='num activity'>
-                <a href="{{unbound topic.url}}" class='age' title='{{i18n first_post}}: {{{rawDate topic.created_at}}}'>{{unboundAge topic.created_at}}</a>
+                <a href="{{unbound topic.url}}" class='age' title='{{i18n first_post}}: {{{raw-date topic.created_at}}}'>{{age topic.created_at}}</a>
               </td>
               <td class="activity"></td>
             {{/if}}
diff --git a/app/assets/javascripts/discourse/templates/components/category-drop.js.handlebars b/app/assets/javascripts/discourse/templates/components/category-drop.js.handlebars
index 36bba0c22..7e56dd5a3 100644
--- a/app/assets/javascripts/discourse/templates/components/category-drop.js.handlebars
+++ b/app/assets/javascripts/discourse/templates/components/category-drop.js.handlebars
@@ -20,6 +20,6 @@
     {{#if subCategory}}
     <div class='cat'><a {{bind-attr href=noCategoriesUrl}} data-drop-close="true" class='badge-category home'>{{i18n categories.no_subcategory}}</a></div>
     {{/if}}
-    {{#each categories}}<div class='cat'>{{categoryLink this allowUncategorized=true}}</div>{{/each}}
+    {{#each categories}}<div class='cat'>{{category-link this allowUncategorized=true}}</div>{{/each}}
   </section>
 {{/if}}
diff --git a/app/assets/javascripts/discourse/templates/components/topic-map.js.handlebars b/app/assets/javascripts/discourse/templates/components/topic-map.js.handlebars
index c7bbc15cc..e52616147 100644
--- a/app/assets/javascripts/discourse/templates/components/topic-map.js.handlebars
+++ b/app/assets/javascripts/discourse/templates/components/topic-map.js.handlebars
@@ -7,17 +7,17 @@
 <section {{bind-attr class=":map mapCollapsed"}}>
   <ul class="clearfix">
     <li>
-      <a href='{{unbound topic.url}}' class='{{coldAgeClass topic.created_at}}'>
+      <a href='{{unbound topic.url}}' class='{{cold-age-class topic.created_at}}'>
       <h4>{{i18n created}}</h4>
       {{avatar details.created_by imageSize="tiny"}}
-      {{unboundDate topic.created_at}}
+      {{date topic.created_at}}
       </a>
     </li>
     <li>
       <a {{bind-attr href="topic.lastPostUrl"}}>
       <h4>{{i18n last_post}}</h4>
       {{avatar details.last_poster imageSize="tiny"}}
-      {{unboundDate topic.last_posted_at}}
+      {{date topic.last_posted_at}}
       </a>
     </li>
     <li>
@@ -62,7 +62,7 @@
             <li>
               <span class='badge badge-notification clicks' title='{{i18n topic_map.clicks count=clicks}}'>{{clicks}}</span>
               <a href="{{unbound url}}" target="_blank" class='topic-link track-link' data-user-id="{{unbound user_id}}" data-ignore-post-id="true" title="{{unbound url}}">
-                {{#if title}}{{title}}{{else}}{{shortenUrl url}}{{/if}}
+                {{#if title}}{{title}}{{else}}{{shorten-url url}}{{/if}}
               </a>
               {{link-domain this}}
             </li>
diff --git a/app/assets/javascripts/discourse/templates/composer/similar_topics.js.handlebars b/app/assets/javascripts/discourse/templates/composer/similar_topics.js.handlebars
index c2567e367..280db69b4 100644
--- a/app/assets/javascripts/discourse/templates/composer/similar_topics.js.handlebars
+++ b/app/assets/javascripts/discourse/templates/composer/similar_topics.js.handlebars
@@ -3,6 +3,6 @@
 
 <ul class='topics'>
   {{#each similarTopics}}
-    <li>{{{topicLink this}}} <span class='posts-count'>({{{i18n topic.filters.n_posts count="posts_count"}}})</span></li>
+    <li>{{{topic-link this}}} <span class='posts-count'>({{{i18n topic.filters.n_posts count="posts_count"}}})</span></li>
   {{/each}}
 </ul>
diff --git a/app/assets/javascripts/discourse/templates/discovery.js.handlebars b/app/assets/javascripts/discourse/templates/discovery.js.handlebars
index d4f7a4df1..20fb4b0e9 100644
--- a/app/assets/javascripts/discourse/templates/discovery.js.handlebars
+++ b/app/assets/javascripts/discourse/templates/discovery.js.handlebars
@@ -1,5 +1,5 @@
 <div class='container'>
-  {{customHTML "top"}}
+  {{custom-html "top"}}
   {{Discourse.globalNotice}}
 </div>
 
diff --git a/app/assets/javascripts/discourse/templates/discovery/categories.js.handlebars b/app/assets/javascripts/discourse/templates/discovery/categories.js.handlebars
index 38b0e1935..db9277cc1 100644
--- a/app/assets/javascripts/discourse/templates/discovery/categories.js.handlebars
+++ b/app/assets/javascripts/discourse/templates/discovery/categories.js.handlebars
@@ -18,7 +18,7 @@
             <div>
               <div class="pull-left">
                 {{#if controller.ordering}}<i class="fa fa-bars"></i>{{/if}}
-                {{categoryLink this allowUncategorized=true extraClasses="bigger"}}
+                {{category-link this allowUncategorized=true extraClasses="bigger"}}
                 {{#if unreadTopics}}
                   <a href={{unbound unreadUrl}} class='badge new-posts badge-notification' title='{{i18n topic.unread_topics count="unreadTopics"}}'>{{unbound unreadTopics}}</a>
                 {{/if}}
@@ -41,7 +41,7 @@
             {{#if subcategories}}
               <div class='subcategories'>
                 {{#each subcategories}}
-                  {{categoryLink this showParent=true}}
+                  {{category-link this showParent=true}}
                   {{#if unreadTopics}}
                     <a href={{unbound unreadUrl}} class='badge new-posts badge-notification' title='{{i18n topic.unread_topics count="unreadTopics"}}'>{{unbound unreadTopics}}</a>
                   {{/if}}
@@ -70,11 +70,11 @@
                 {{#if controller.latestTopicOnly}}
                   <div class='last-user-info'>
                     {{i18n categories.latest_by}} <a href="{{{unbound lastPosterUrl}}}">{{unbound last_poster.username}}</a>
-                    <a href="{{unbound lastPostUrl}}">{{unboundAge last_posted_at}}</a>
+                    <a href="{{unbound lastPostUrl}}">{{age last_posted_at}}</a>
                   </div>
                 {{else}}
                   &nbsp;
-                  <a href="{{unbound lastPostUrl}}" class="last-posted-at">{{unboundAge last_posted_at}}</a>
+                  <a href="{{unbound lastPostUrl}}" class="last-posted-at">{{age last_posted_at}}</a>
                 {{/if}}
               </div>
             {{/each}}
diff --git a/app/assets/javascripts/discourse/templates/embedded_post.js.handlebars b/app/assets/javascripts/discourse/templates/embedded_post.js.handlebars
index 669938907..1358c9a65 100644
--- a/app/assets/javascripts/discourse/templates/embedded_post.js.handlebars
+++ b/app/assets/javascripts/discourse/templates/embedded_post.js.handlebars
@@ -10,7 +10,7 @@
     <div class="topic-meta-data">
       <h5 {{bind-attr class="staff new_user"}}><a href='{{unbound usernameUrl}}'>{{{unbound username}}}</a></h5>
       {{#if view.parentView.previousPost}}<a href='{{unbound url}}' class="post-info arrow" title="{{i18n topic.jump_reply_up}}"><i class='fa fa-arrow-up'></i></a>{{/if}}
-      <div class='post-info post-date'>{{unboundAgeWithTooltip created_at}}</div>
+      <div class='post-info post-date'>{{age-with-tooltip created_at}}</div>
     </div>
     {{{unbound cooked}}}
     {{#unless view.parentView.previousPost}}<a href='{{unbound url}}' class="arrow" title="{{i18n topic.jump_reply_down}}"><i class='fa fa-arrow-down'></i></a>{{/unless}}
diff --git a/app/assets/javascripts/discourse/templates/featured_topics.js.handlebars b/app/assets/javascripts/discourse/templates/featured_topics.js.handlebars
index 9fdb077a3..f265221e7 100644
--- a/app/assets/javascripts/discourse/templates/featured_topics.js.handlebars
+++ b/app/assets/javascripts/discourse/templates/featured_topics.js.handlebars
@@ -1,7 +1,7 @@
 <table id='topic-list'>
   <tr>
     <th class="main-link">
-      {{categoryLink this allowUncategorized=true}}
+      {{category-link this allowUncategorized=true}}
 
       <div class='posters'>
       {{#each featured_users}}
@@ -26,7 +26,7 @@
       <td class='main-link'>
         <div class='topic-inset'>
           {{topic-status topic=this}}
-          {{{topicLink this}}}
+          {{{topic-link this}}}
 
           {{#if unread}}
             <a href="{{unbound lastUnreadUrl}}" class='badge unread badge-notification' title='{{i18n topic.unread_posts count="unread"}}'>{{unbound unread}}</a>
@@ -52,7 +52,7 @@
         </div>
       </td>
       <td class='num posts'><span class='badge-posts'>{{number posts_count}}</span></td>
-      <td class='num age'><span class="{{coldAgeClass created_at}}" title='{{rawDate created_at}}'>{{{unboundAge created_at}}}</span></td>
+      <td class='num age'><span class="{{cold-age-class created_at}}" title='{{raw-date created_at}}'>{{{age created_at}}}</span></td>
     </tr>
   {{/each}}
 
@@ -62,7 +62,7 @@
         <div class='subcategories'>
           {{i18n categories.subcategories}}
           {{#each subcategory in subcategories}}
-            {{categoryLink subcategory showParent=true}}
+            {{category-link subcategory showParent=true}}
           {{/each}}
         </div>
       </td>
diff --git a/app/assets/javascripts/discourse/templates/group/index.js.handlebars b/app/assets/javascripts/discourse/templates/group/index.js.handlebars
index db2bad90e..810bf21bd 100644
--- a/app/assets/javascripts/discourse/templates/group/index.js.handlebars
+++ b/app/assets/javascripts/discourse/templates/group/index.js.handlebars
@@ -3,7 +3,7 @@
     <div class='item'>
       <div class='clearfix info'>
         {{#link-to 'user' user class="avatar-link"}}<div class='avatar-wrapper'>{{avatar user imageSize="large" extraClasses="actor" ignoreTitle="true"}}</div>{{/link-to}}
-        <span class='time'>{{unboundDate path="created_at" leaveAgo="true"}}</span>
+        <span class='time'>{{date path="created_at" leaveAgo="true"}}</span>
         <span class="title">
           <a href="{{unbound url}}">{{unbound title}}</a>
         </span>
diff --git a/app/assets/javascripts/discourse/templates/group/members.js.handlebars b/app/assets/javascripts/discourse/templates/group/members.js.handlebars
index 0a0c81719..2bafdd7ef 100644
--- a/app/assets/javascripts/discourse/templates/group/members.js.handlebars
+++ b/app/assets/javascripts/discourse/templates/group/members.js.handlebars
@@ -13,7 +13,7 @@
         <p>{{name}}</p>
       </td>
       <td>
-        <span class='last-seen-at'>{{date last_seen_at}}</span>
+        <span class='last-seen-at'>{{bound-date last_seen_at}}</span>
       </td>
     </tr>
     </div>
diff --git a/app/assets/javascripts/discourse/templates/header.js.handlebars b/app/assets/javascripts/discourse/templates/header.js.handlebars
index f235a1c23..825856c9b 100644
--- a/app/assets/javascripts/discourse/templates/header.js.handlebars
+++ b/app/assets/javascripts/discourse/templates/header.js.handlebars
@@ -14,9 +14,9 @@
               <span class="private-message-glyph">{{icon envelope}}</span>
             {{/if}}
           {{#if topic.category.parentCategory}}
-            {{boundCategoryLink topic.category.parentCategory}}
+            {{bound-category-link topic.category.parentCategory}}
           {{/if}}
-          {{boundCategoryLink topic.category}}
+          {{bound-category-link topic.category}}
           {{#if topic.details.loaded}}
             {{topic-status topic=topic}}
             <a class='topic-link' href='{{unbound topic.url}}' {{action jumpToTopPost}}>{{{topic.fancy_title}}}</a>
@@ -104,7 +104,7 @@
                href="#"
                title='{{i18n user.avatar.title}}'
                id="current-user">
-                 {{boundAvatar currentUser "medium"}}
+                 {{bound-avatar currentUser "medium"}}
             </a>
           </li>
         {{/if}}
diff --git a/app/assets/javascripts/discourse/templates/list/topic_list_item.js.handlebars b/app/assets/javascripts/discourse/templates/list/topic_list_item.js.handlebars
index 9d97e6227..a81a34a08 100644
--- a/app/assets/javascripts/discourse/templates/list/topic_list_item.js.handlebars
+++ b/app/assets/javascripts/discourse/templates/list/topic_list_item.js.handlebars
@@ -12,7 +12,7 @@
 
 <td class='main-link clearfix' {{bind-attr colspan="titleColSpan"}}>
   {{topic-status topic=this.model}}
-  {{{topicLink this}}}
+  {{{topic-link this}}}
   {{#if unread}}
     <a href="{{lastUnreadUrl}}" class='badge unread badge-notification' title='{{i18n topic.unread_posts count="unread"}}'>{{unread}}</a>
   {{/if}}
@@ -37,7 +37,7 @@
 </td>
 
 {{#unless hideCategory}}
-<td class='category'>{{boundCategoryLink category showParent=true}}</td>
+<td class='category'>{{bound-category-link category showParent=true}}</td>
 {{/unless}}
 
 <td class='posters'>
@@ -58,14 +58,14 @@
 
 {{#if bumped}}
   <td class='num activity'>
-    <a href="{{url}}" class="{{coldAgeClass created_at}}" title='{{i18n first_post}}: {{{rawDate created_at}}}' >{{unboundAge created_at}}</a>
+    <a href="{{url}}" class="{{cold-age-class created_at}}" title='{{i18n first_post}}: {{{raw-date created_at}}}' >{{age created_at}}</a>
   </td>
   <td class='num activity last'>
-    <a href="{{lastPostUrl}}" class="{{coldAgeClass bumped_at}}" title='{{i18n last_post}}: {{{rawDate bumped_at}}}'>{{unboundAge bumped_at}}</a>
+    <a href="{{lastPostUrl}}" class="{{cold-age-class bumped_at}}" title='{{i18n last_post}}: {{{raw-date bumped_at}}}'>{{age bumped_at}}</a>
   </td>
 {{else}}
   <td class='num activity'>
-    <a href="{{url}}" class="{{coldAgeClass created_at}}" title='{{i18n first_post}}: {{{rawDate created_at}}}'>{{unboundAge created_at}}</a>
+    <a href="{{url}}" class="{{cold-age-class created_at}}" title='{{i18n first_post}}: {{{raw-date created_at}}}'>{{age created_at}}</a>
   </td>
   <td class='activity'></td>
 {{/if}}
diff --git a/app/assets/javascripts/discourse/templates/mobile/components/basic-topic-list.js.handlebars b/app/assets/javascripts/discourse/templates/mobile/components/basic-topic-list.js.handlebars
index 0f6ea29b4..e1e502840 100644
--- a/app/assets/javascripts/discourse/templates/mobile/components/basic-topic-list.js.handlebars
+++ b/app/assets/javascripts/discourse/templates/mobile/components/basic-topic-list.js.handlebars
@@ -6,7 +6,7 @@
           <td>
             <div class='main-link clearfix'>
               {{topic-status topic=this}}
-              {{{topicLink this}}}
+              {{{topic-link this}}}
               {{#if unread}}
                 <a href="{{lastUnreadUrl}}" class='badge unread badge-notification' title='{{i18n topic.unread_posts count="unread"}}'>{{unread}}</a>
               {{/if}}
@@ -42,17 +42,17 @@
                 {{/if}}
                 {{#if bumped}}
                   <div class='num activity last'>
-                    <a href="{{lastPostUrl}}" class='age' title='{{i18n last_post}}: {{{rawDate bumped_at}}}'>{{unboundAge bumped_at}}</a>
+                    <a href="{{lastPostUrl}}" class='age' title='{{i18n last_post}}: {{{raw-date bumped_at}}}'>{{age bumped_at}}</a>
                   </div>
                 {{else}}
                   <div class='num activity last'>
-                    <a href="{{url}}" class='age' title='{{i18n first_post}}: {{{rawDate created_at}}}'>{{unboundAge created_at}}</a>
+                    <a href="{{url}}" class='age' title='{{i18n first_post}}: {{{raw-date created_at}}}'>{{age created_at}}</a>
                   </div>
                 {{/if}}
               </div>
               {{#unless controller.hideCategory}}
                 <div class='category'>
-                  {{categoryLink category showParent=true}}
+                  {{category-link category showParent=true}}
                 </div>
               {{/unless}}
               {{#if controller.showParticipants}}
diff --git a/app/assets/javascripts/discourse/templates/mobile/list/topic_list_item.js.handlebars b/app/assets/javascripts/discourse/templates/mobile/list/topic_list_item.js.handlebars
index 90559bda0..8f0dfe6b1 100644
--- a/app/assets/javascripts/discourse/templates/mobile/list/topic_list_item.js.handlebars
+++ b/app/assets/javascripts/discourse/templates/mobile/list/topic_list_item.js.handlebars
@@ -1,7 +1,7 @@
 <td>
 <div class='main-link clearfix'>
   {{topic-status topic=this}}
-  {{{topicLink this}}}
+  {{{topic-link this}}}
   {{#if unread}}
     <a href="{{lastUnreadUrl}}" class='badge unread badge-notification' title='{{i18n topic.unread_posts count="unread"}}'>{{unread}}</a>
   {{/if}}
@@ -28,7 +28,7 @@
 <div class="topic-item-stats clearfix">
   {{#unless controller.hideCategory}}
     <div class='category'>
-      {{categoryLink category showParent=true}}
+      {{category-link category showParent=true}}
     </div>
   {{/unless}}
 
@@ -41,13 +41,13 @@
 
     {{#if bumped}}
       <div class='num activity last'>
-        <a href="{{lastPostUrl}}" title='{{i18n last_post}}: {{{rawDate bumped_at}}}'>{{last_poster_username}}</a>
-        <a href="{{lastPostUrl}}" class='age' title='{{i18n last_post}}: {{{rawDate bumped_at}}}'>{{unboundAge bumped_at}}</a>
+        <a href="{{lastPostUrl}}" title='{{i18n last_post}}: {{{raw-date bumped_at}}}'>{{last_poster_username}}</a>
+        <a href="{{lastPostUrl}}" class='age' title='{{i18n last_post}}: {{{raw-date bumped_at}}}'>{{age bumped_at}}</a>
       </div>
     {{else}}
       <div class='num activity last'>
-        <a href="{{url}}" title='{{i18n last_post}}: {{{rawDate bumped_at}}}'>{{last_poster_username}}</a>
-        <a href="{{url}}" class='age' title='{{i18n first_post}}: {{{rawDate created_at}}}'>{{unboundAge created_at}}</a>
+        <a href="{{url}}" title='{{i18n last_post}}: {{{raw-date bumped_at}}}'>{{last_poster_username}}</a>
+        <a href="{{url}}" class='age' title='{{i18n first_post}}: {{{raw-date created_at}}}'>{{age created_at}}</a>
       </div>
     {{/if}}
   </div>
diff --git a/app/assets/javascripts/discourse/templates/modal/avatar_selector.js.handlebars b/app/assets/javascripts/discourse/templates/modal/avatar_selector.js.handlebars
index c5295b90f..e286dfb81 100644
--- a/app/assets/javascripts/discourse/templates/modal/avatar_selector.js.handlebars
+++ b/app/assets/javascripts/discourse/templates/modal/avatar_selector.js.handlebars
@@ -2,11 +2,11 @@
   <div>
     <div>
       <input type="radio" id="system-avatar" name="avatar" value="system" {{action useSystem}}>
-      <label class="radio" for="system-avatar">{{boundAvatar controller "large" system_avatar_upload_id}} {{{i18n user.change_avatar.letter_based}}}</label>
+      <label class="radio" for="system-avatar">{{bound-avatar controller "large" system_avatar_upload_id}} {{{i18n user.change_avatar.letter_based}}}</label>
     </div>
     <div>
       <input type="radio" id="gravatar" name="avatar" value="gravatar" {{action useGravatar}}>
-      <label class="radio" for="gravatar">{{boundAvatar controller "large" gravatar_avatar_upload_id}} {{{i18n user.change_avatar.gravatar}}} {{email}}</label>
+      <label class="radio" for="gravatar">{{bound-avatar controller "large" gravatar_avatar_upload_id}} {{{i18n user.change_avatar.gravatar}}} {{email}}</label>
       <button href="#" {{action refreshGravatar}} title="{{i18n user.change_avatar.refresh_gravatar_title}}" {{bind-attr enabled="view.gravatarRefreshEnabled"}} class="btn no-text"><i class="fa fa-refresh"></i></button>
     </div>
     <div>
@@ -14,9 +14,9 @@
       <label class="radio" for="uploaded_avatar">
         {{#if view.hasUploadedAvatar}}
           {{#if view.uploadedAvatarTemplate}}
-            {{boundAvatarTemplate view.uploadedAvatarTemplate "large"}}
+            {{bound-avatar-template view.uploadedAvatarTemplate "large"}}
           {{else}}
-            {{boundAvatar controller "large" custom_avatar_upload_id}} {{i18n user.change_avatar.uploaded_avatar}}
+            {{bound-avatar controller "large" custom_avatar_upload_id}} {{i18n user.change_avatar.uploaded_avatar}}
           {{/if}}
         {{else}}
           {{i18n user.change_avatar.uploaded_avatar_empty}}
diff --git a/app/assets/javascripts/discourse/templates/modal/create_account.js.handlebars b/app/assets/javascripts/discourse/templates/modal/create_account.js.handlebars
index 878d200cd..affc9f60b 100644
--- a/app/assets/javascripts/discourse/templates/modal/create_account.js.handlebars
+++ b/app/assets/javascripts/discourse/templates/modal/create_account.js.handlebars
@@ -70,7 +70,7 @@
     {{#if tosAcceptRequired}}
       <div class="tos-agree">
         {{input type="checkbox" checked=tosAccepted}}
-        {{customHTML "tos_signup_form_message"}}
+        {{custom-html "tos_signup_form_message"}}
       </div>
     {{/if}}
     <button class='btn btn-large btn-primary' {{bind-attr disabled="submitDisabled"}} {{action createAccount}}>{{i18n create_account.title}}</button>
diff --git a/app/assets/javascripts/discourse/templates/modal/edit_category.js.handlebars b/app/assets/javascripts/discourse/templates/modal/edit_category.js.handlebars
index 29a85c42d..65497f587 100644
--- a/app/assets/javascripts/discourse/templates/modal/edit_category.js.handlebars
+++ b/app/assets/javascripts/discourse/templates/modal/edit_category.js.handlebars
@@ -25,7 +25,7 @@
           {{#if subCategories}}
             <label>{{i18n categories.subcategories}}</label>
             {{#each subCategories}}
-              {{categoryBadge this}}
+              {{category-badge this}}
             {{/each}}
           {{else}}
             <label>{{i18n category.parent}}</label>
diff --git a/app/assets/javascripts/discourse/templates/modal/history.js.handlebars b/app/assets/javascripts/discourse/templates/modal/history.js.handlebars
index 4629acf19..6510bbf84 100644
--- a/app/assets/javascripts/discourse/templates/modal/history.js.handlebars
+++ b/app/assets/javascripts/discourse/templates/modal/history.js.handlebars
@@ -17,7 +17,7 @@
     </div>
   </div>
   <div id="revision-details">
-    {{i18n post.revisions.details.edited_by}} {{boundAvatarTemplate content.avatar_template "small"}} {{username}} <span class="date">{{date created_at}}</span> {{#if edit_reason}} &mdash; <span class="edit-reason">{{edit_reason}}</span>{{/if}}
+    {{i18n post.revisions.details.edited_by}} {{bound-avatar-template content.avatar_template "small"}} {{username}} <span class="date">{{bound-date created_at}}</span> {{#if edit_reason}} &mdash; <span class="edit-reason">{{edit_reason}}</span>{{/if}}
   </div>
   <div id="revisions">
     {{#if title_changes}}
@@ -32,7 +32,7 @@
     {{/if}}
     {{#if user_changes}}
       <div class="row">
-        {{boundAvatarTemplate user_changes.previous.avatar_template "small"}} {{user_changes.previous.username}} → {{boundAvatarTemplate user_changes.current.avatar_template "small"}} {{user_changes.current.username}}
+        {{bound-avatar-template user_changes.previous.avatar_template "small"}} {{user_changes.previous.username}} → {{bound-avatar-template user_changes.current.avatar_template "small"}} {{user_changes.current.username}}
       </div>
     {{/if}}
     {{#if wiki_changes}}
diff --git a/app/assets/javascripts/discourse/templates/navigation/categories.js.handlebars b/app/assets/javascripts/discourse/templates/navigation/categories.js.handlebars
index 04ca78e96..3ebb14e95 100644
--- a/app/assets/javascripts/discourse/templates/navigation/categories.js.handlebars
+++ b/app/assets/javascripts/discourse/templates/navigation/categories.js.handlebars
@@ -4,7 +4,7 @@
   {{#each navItem in navItems}}
     {{navigation-item content=navItem filterMode=filterMode}}
   {{/each}}
-  {{customHTML "extraNavItem"}}
+  {{custom-html "extraNavItem"}}
 </ul>
 
 {{#if canCreateCategory}}
diff --git a/app/assets/javascripts/discourse/templates/navigation/category.js.handlebars b/app/assets/javascripts/discourse/templates/navigation/category.js.handlebars
index f38f92d2a..ac4d45671 100644
--- a/app/assets/javascripts/discourse/templates/navigation/category.js.handlebars
+++ b/app/assets/javascripts/discourse/templates/navigation/category.js.handlebars
@@ -4,7 +4,7 @@
   {{#each navItem in navItems}}
     {{navigation-item content=navItem filterMode=filterMode}}
   {{/each}}
-  {{customHTML "extraNavItem"}}
+  {{custom-html "extraNavItem"}}
 </ul>
 
 {{#if canChangeCategoryNotificationLevel}}
diff --git a/app/assets/javascripts/discourse/templates/navigation/default.js.handlebars b/app/assets/javascripts/discourse/templates/navigation/default.js.handlebars
index 04bbf2b4e..5acd6e095 100644
--- a/app/assets/javascripts/discourse/templates/navigation/default.js.handlebars
+++ b/app/assets/javascripts/discourse/templates/navigation/default.js.handlebars
@@ -4,7 +4,7 @@
   {{#each navItem in navItems}}
     {{navigation-item content=navItem filterMode=filterMode}}
   {{/each}}
-  {{customHTML "extraNavItem"}}
+  {{custom-html "extraNavItem"}}
 </ul>
 
 {{#if canCreateTopic}}
diff --git a/app/assets/javascripts/discourse/templates/post.js.handlebars b/app/assets/javascripts/discourse/templates/post.js.handlebars
index 7fd1635b3..30b028352 100644
--- a/app/assets/javascripts/discourse/templates/post.js.handlebars
+++ b/app/assets/javascripts/discourse/templates/post.js.handlebars
@@ -40,17 +40,17 @@
       <div class='topic-meta-data'>
         {{poster-name post=this expandAction="showPosterExpansion"}}
         <div class='post-info'>
-          <a class='post-date' {{bind-attr href="shareUrl" data-share-url="shareUrl" data-post-number="post_number"}}>{{unboundAgeWithTooltip created_at}}</a>
+          <a class='post-date' {{bind-attr href="shareUrl" data-share-url="shareUrl" data-post-number="post_number"}}>{{age-with-tooltip created_at}}</a>
         </div>
         {{#if hasHistory}}
           <div class='post-info edits'>
             {{#if can_view_edit_history}}
-              <a href='#' class="{{unbound historyHeat}}" {{action showHistory this}} title="{{i18n post.last_edited_on}} {{rawDate updated_at}}">
+              <a href='#' class="{{unbound historyHeat}}" {{action showHistory this}} title="{{i18n post.last_edited_on}} {{raw-date updated_at}}">
                 {{editCount}}
                 <i class='fa fa-pencil'></i>
               </a>
             {{else}}
-              <span class="{{unbound historyHeat}}" title="{{i18n post.last_edited_on}} {{rawDate updated_at}}">
+              <span class="{{unbound historyHeat}}" title="{{i18n post.last_edited_on}} {{raw-date updated_at}}">
                 {{editCount}}
                 <i class='fa fa-pencil'></i>
               </span>
diff --git a/app/assets/javascripts/discourse/templates/poster_expansion.handlebars b/app/assets/javascripts/discourse/templates/poster_expansion.handlebars
index ac96c9cb6..3a7db86ce 100644
--- a/app/assets/javascripts/discourse/templates/poster_expansion.handlebars
+++ b/app/assets/javascripts/discourse/templates/poster_expansion.handlebars
@@ -1,5 +1,5 @@
 {{#if model}}
-  {{#link-to 'user' user}}{{boundAvatar model "huge"}}{{/link-to}}
+  {{#link-to 'user' user}}{{bound-avatar model "huge"}}{{/link-to}}
 
   <div class="names">
     <h1 {{bind-attr class="staff new_user"}}><a {{bind-attr href="usernameUrl"}}>{{username}}</a></h1>
@@ -24,8 +24,8 @@
   {{#if user}}
     <div class="metadata">
       {{#if user.location}}<h3><i class="fa fa-map-marker"></i> {{{user.location}}}</h3>{{/if}}
-      <h3>{{i18n last_post}} {{unboundDate path="user.last_posted_at" leaveAgo="true"}}</h3>
-      <h3>{{i18n joined}} {{unboundDate path="user.created_at" leaveAgo="true"}}</h3>
+      <h3>{{i18n last_post}} {{date path="user.last_posted_at" leaveAgo="true"}}</h3>
+      <h3>{{i18n joined}} {{date path="user.created_at" leaveAgo="true"}}</h3>
       {{groups-list groups=user.custom_groups}}
     </div>
 
diff --git a/app/assets/javascripts/discourse/templates/share.js.handlebars b/app/assets/javascripts/discourse/templates/share.js.handlebars
index 7a1d5f738..29a4bb73e 100644
--- a/app/assets/javascripts/discourse/templates/share.js.handlebars
+++ b/app/assets/javascripts/discourse/templates/share.js.handlebars
@@ -1,7 +1,7 @@
 <h3>{{view.title}}</h3>
 
 {{#if date}}
-  <span class="date">{{rawDate date}}</span>
+  <span class="date">{{bound-raw-date date}}</span>
 {{/if}}
 
 <div><input type='text' /></div>
diff --git a/app/assets/javascripts/discourse/templates/site_map/_category.js.handlebars b/app/assets/javascripts/discourse/templates/site_map/_category.js.handlebars
index 566f40cdf..9bffe1173 100644
--- a/app/assets/javascripts/discourse/templates/site_map/_category.js.handlebars
+++ b/app/assets/javascripts/discourse/templates/site_map/_category.js.handlebars
@@ -1,4 +1,4 @@
-{{categoryLink this allowUncategorized=true showParent=true}}
+{{category-link this allowUncategorized=true showParent=true}}
 {{#if showBadges}}
   {{#if unreadTopics}}
     <a href={{unbound unreadUrl}} class='badge unread-posts badge-notification' title='{{i18n topic.unread_topics count="unreadTopics"}}'>{{unreadTopics}}</a>
diff --git a/app/assets/javascripts/discourse/templates/site_map/_latest_topics_link.js.handlebars b/app/assets/javascripts/discourse/templates/site_map/_latest_topics_link.js.handlebars
index f83cd32c3..b913e893c 100644
--- a/app/assets/javascripts/discourse/templates/site_map/_latest_topics_link.js.handlebars
+++ b/app/assets/javascripts/discourse/templates/site_map/_latest_topics_link.js.handlebars
@@ -1 +1 @@
-{{#titledLinkTo "discovery.latest" (query-params ascending="false" order="default") titleKey="filters.latest.help" class="latest-topics-link"}}{{i18n filters.latest.title}}{{/titledLinkTo}}
+{{#titled-link-to "discovery.latest" (query-params ascending="false" order="default") titleKey="filters.latest.help" class="latest-topics-link"}}{{i18n filters.latest.title}}{{/titled-link-to}}
diff --git a/app/assets/javascripts/discourse/templates/topic.js.handlebars b/app/assets/javascripts/discourse/templates/topic.js.handlebars
index b3135ce5d..ec8add46b 100644
--- a/app/assets/javascripts/discourse/templates/topic.js.handlebars
+++ b/app/assets/javascripts/discourse/templates/topic.js.handlebars
@@ -1,5 +1,5 @@
 <div class='container'>
-  {{customHTML "top"}}
+  {{custom-html "top"}}
   {{Discourse.globalNotice}}
 </div>
 
@@ -28,9 +28,9 @@
             <h1>
               <span class="private-message-glyph"><i class='fa fa-envelope'></i></span>
               {{#if category.parentCategory}}
-                {{boundCategoryLink category.parentCategory}}
+                {{bound-category-link category.parentCategory}}
               {{/if}}
-              {{boundCategoryLink category}}
+              {{bound-category-link category}}
               {{#if details.loaded}}
                 {{topic-status topic=model}}
                 <a href='{{unbound url}}' {{action jumpTop}}>
diff --git a/app/assets/javascripts/discourse/templates/user/invited.js.handlebars b/app/assets/javascripts/discourse/templates/user/invited.js.handlebars
index 6bf4e5a24..9d93cc5c4 100644
--- a/app/assets/javascripts/discourse/templates/user/invited.js.handlebars
+++ b/app/assets/javascripts/discourse/templates/user/invited.js.handlebars
@@ -32,9 +32,9 @@
               {{#link-to 'user' invite.user}}{{avatar invite.user imageSize="tiny"}}{{/link-to}}
               {{#link-to 'user' invite.user}}{{invite.user.username}}{{/link-to}}
             </td>
-            <td>{{unboundDate invite.redeemed_at}}</td>
+            <td>{{date invite.redeemed_at}}</td>
             {{#if can_see_invite_details}}
-              <td>{{unboundDate invite.user.last_seen_at}}</td>
+              <td>{{date invite.user.last_seen_at}}</td>
               <td>{{number invite.user.topics_entered}}</td>
               <td>{{number invite.user.posts_read_count}}</td>
               <td>{{{unbound invite.user.time_read}}}</td>
diff --git a/app/assets/javascripts/discourse/templates/user/preferences.js.handlebars b/app/assets/javascripts/discourse/templates/user/preferences.js.handlebars
index 7584d9a5d..494613d2d 100644
--- a/app/assets/javascripts/discourse/templates/user/preferences.js.handlebars
+++ b/app/assets/javascripts/discourse/templates/user/preferences.js.handlebars
@@ -79,7 +79,7 @@
     <div class="control-group">
       <label class="control-label">{{i18n user.avatar.title}}</label>
       <div class="controls">
-        {{boundAvatar model "large"}}
+        {{bound-avatar model "large"}}
         {{#if allowAvatarUpload}}
           <button {{action showAvatarSelector}} class="btn pad-left no-text"><i class="fa fa-pencil"></i></button>
         {{else}}
diff --git a/app/assets/javascripts/discourse/templates/user/stream.js.handlebars b/app/assets/javascripts/discourse/templates/user/stream.js.handlebars
index 2d27ccea5..7a3b328c1 100644
--- a/app/assets/javascripts/discourse/templates/user/stream.js.handlebars
+++ b/app/assets/javascripts/discourse/templates/user/stream.js.handlebars
@@ -2,10 +2,10 @@
   <div {{bind-attr class=":item hidden deleted moderator_action"}}>
     <div class='clearfix info'>
       <a href="{{unbound userUrl}}" class='avatar-link'><div class='avatar-wrapper'>{{avatar this imageSize="large" extraClasses="actor" ignoreTitle="true"}}</div></a>
-      <span class='time'>{{unboundDate path="created_at" leaveAgo="true"}}</span>
+      <span class='time'>{{date path="created_at" leaveAgo="true"}}</span>
       <span class="title">
         <a href="{{unbound postUrl}}">{{unbound title}}</a>
-        {{categoryLink category}}
+        {{category-link category}}
       </span>
       <span class="type">{{unbound descriptionHtml}}</span>
     </div>
diff --git a/app/assets/javascripts/discourse/templates/user/user.js.handlebars b/app/assets/javascripts/discourse/templates/user/user.js.handlebars
index 678f6c306..a17d9a108 100644
--- a/app/assets/javascripts/discourse/templates/user/user.js.handlebars
+++ b/app/assets/javascripts/discourse/templates/user/user.js.handlebars
@@ -1,5 +1,5 @@
 <div class='container'>
-  {{customHTML "top"}}
+  {{custom-html "top"}}
   {{Discourse.globalNotice}}
 </div>
 
@@ -64,7 +64,7 @@
 
         <div class='details'>
           <div class='primary'>
-          {{boundAvatar model "huge"}}
+          {{bound-avatar model "huge"}}
 
           <div class="primary-textual">
             <h1>{{username}} {{{statusIcon}}}</h1>
@@ -93,13 +93,13 @@
                 <dt>{{i18n user.website}}</dt><dd><a {{bind-attr href="website"}} target="_blank">{{websiteName}}</a></dd>
               {{/if}}
               {{#if created_at}}
-                <dt>{{i18n user.created}}</dt><dd>{{date created_at}}</dd>
+                <dt>{{i18n user.created}}</dt><dd>{{bound-date created_at}}</dd>
               {{/if}}
               {{#if last_posted_at}}
-                <dt>{{i18n user.last_posted}}</dt><dd>{{date last_posted_at}}</dd>
+                <dt>{{i18n user.last_posted}}</dt><dd>{{bound-date last_posted_at}}</dd>
               {{/if}}
               {{#if last_seen_at}}
-                <dt>{{i18n user.last_seen}}</dt><dd>{{date last_seen_at}}</dd>
+                <dt>{{i18n user.last_seen}}</dt><dd>{{bound-date last_seen_at}}</dd>
               {{/if}}
               {{#if invited_by}}
                 <dt>{{i18n user.invited_by}}</dt><dd>{{#link-to 'user' invited_by}}{{invited_by.username}}{{/link-to}}</dd>