whole_func_string: function(values, callback, items) {
          var valuesToAdd = values.splice(0, 100);
          items = items || [];
          items = items.concat(self.add(valuesToAdd));
          if (values.length > 0) {
              setTimeout(function() {
                  addAsync(values, callback, items);
              }, 10);
          } else {
              self.update();
              callback(items);
          }
      }
func_code_string: function(values, callback, items) {
          var valuesToAdd = values.splice(0, 100);
          items = items || [];
          items = items.concat(self.add(valuesToAdd));
          if (values.length > 0) {
              setTimeout(function() {
                  addAsync(values, callback, items);
              }, 10);
          } else {
              self.update();
              callback(items);
          }
      }
func_documentation_string: /*
  Adds items asynchronous to the list, good for adding huge amount of
  data. Defaults to add 100 items a time