code: function(input, delaySort, remoteData)
    {
      var model = this.parseModel( input, remoteData );
      var key = model.$key();
  
      this.map.put( key, model );
      this.trigger( Collection.Events.Add, [this, model, this.map.indices[ key ]] );
  
      if ( !delaySort )
      {
        this.sort();
      }
  
      return this;
    }
docs: Adds a model to this collection - sorting the collection if a comparator
  is set on this collection and `delaySort` is not a specified or a true
  value.
  
  @method
  @memberof Rekord.ModelCollection#
  @param {modelInput} input -
  The model to add to this collection.
  @param {Boolean} [delaySort=false] -
  Whether automatic sorting should be delayed until the user manually
  calls {@link Rekord.ModelCollection#sort sort}.
  @param {Boolean} [remoteData=false] -
  If the model is from a remote source. Remote sources place the model
  directly into the database while local sources aren't stored in the
  database until they're saved.
  @return {Rekord.ModelCollection} -
  The reference to this collection.
  @emits Rekord.ModelCollection#add
  @emits Rekord.ModelCollection#sort