(function(){

  // Makes the view enter a mode. Modes have both a 'mode' and a 'group',
  // and are mutually exclusive with any other modes in the same group.
  // Setting will update the view's modes hash, as well as set an HTML class
  // of *[mode]_[group]* on the view's element. Convenient way to swap styles
  // and behavior.
  Backbone.View.prototype.setMode = function(mode, group) {
    this.modes || (this.modes = {});
    if (this.modes[group] === mode) return;
    $(this.el).setMode(mode, group);
    this.modes[group] = mode;
  };

  // Treat empty strings as `null`, in the context of Backbone Models.
  var oldSet = Backbone.Model.prototype.set;
  Backbone.Model.prototype.set = function(attrs, options) {
    var copy = {};
    if (attrs) {
      for (var attr in attrs) {
        copy[attr] = (attrs[attr] !== '' ? attrs[attr] : null);
      }
    }
    return oldSet.call(this, copy, options);
  };

})();
@@ -539,16 +539,498 @@
 de;%0A  %7D;
+%0A  %0A  // For small amounts of DOM Elements, where a full-blown template isn't%0A  // needed, use **make** to manufacture elements, one at a time.%0A  //%0A  //     var el = this.make('li', %7B'class': 'row'%7D, this.model.escape('title'));%0A  //%0A  Backbone.View.prototype.make = function(tagName, attributes, content) %7B%0A    var el = document.createElement(tagName);%0A    if (attributes) Backbone.$(el).attr(attributes);%0A    if (content != null) Backbone.$(el).html(content);%0A    return el;%0A  %7D;
 %0A%0A  // T

Add Backbone.View#make back as an extension.