code: function(model, options) {
              var item, tag;
  
              // Define options
              options = _.defaults(options || {}, {
                  silent: false,
                  render: true,
                  at: _.size(this.items),
              });
  
              if (this.items[model.id] != null) {
                  this.removeModel(model);
              }
  
              item = new this.Item({
                  "model": model,
                  "list": this,
                  "collection": this.collection
              }, this);
              this.listenTo(model, "set", function() {
                  item.update();
                  this.applyFilter(item);
              });
              this.listenTo(model, "id", function(newId, oldId) {
                  this.items[newId] = this.items[oldId];
                  delete this.items[oldId];
              });
  
              item.update();
              tag = this.Item.prototype.tagName;
              if (this.Item.prototype.className) tag = tag+"."+this.Item.prototype.className.split(" ")[0];
  
              if (options.at > 0) {
                  this.$("> "+tag).eq(options.at-1).after(item.$el);
              } else {
                  this.$el.prepend(item.$el);
              }
              this.items[model.id] = item;
  
              this.applyFilter(item);
  
              if (!options.silent) this.trigger("add", model);
              if (options.render) this.update();
  
              return this;
          }
docs: /*
  Add a model to the list
  @model : model to add
  @options