docs: function create(object, callback) {
      self.emit('create', object)
      callback = callback || emptyFn
      // clone the object
      var extendedObject = extend({}, object)
  
      if (!extendedObject[options.idProperty]) {
        idSeq += 1
        extendedObject[options.idProperty] = '' + idSeq
      } else {
        if (findById(extendedObject[options.idProperty]) !== null) {
          return callback(new Error('Key ' + extendedObject[options.idProperty] + ' already exists'))
        }
        // if an id is provided, cast to string.
        extendedObject[options.idProperty] = '' + extendedObject[options.idProperty]
      }
      data.push(extend({}, extendedObject))
      self.emit('afterCreate', extendedObject)
      callback(undefined, extendedObject)
    }