code: function (name, templateString) {
              if (typeof name === 'object') {
                  for (var template in name) {
                      this.addTemplate(template, name[template]);
                  }
                  return;
              }
              if (ich[name]) {
                  console.error("Invalid name: " + name + "."); 
              } else if (ich.templates[name]) {
                  console.error("Template \"" + name + "  \" exists");
              } else {
                  ich.templates[name] = templateString;
                  ich[name] = function (data, raw) {
                      data = data || {};
                      var result = Mustache.to_html(ich.templates[name], data, ich.templates);
                      return (ich.$ && !raw) ? ich.$(result) : result;
                  };
              }
          }
docs: public function for adding templates can take a name and template string arguments or can take an object with name/template pairs We're enforcing uniqueness to avoid accidental template overwrites. If you want a different template, it should have a different name.