destroy(callback) {

    callback = callback || (() => {});

    async.series([
      this.beforeDestroy,
      this.__destroy__,
      this.afterDestroy
    ].map(f => f.bind(this)), (err) => {
      callback(err || null, this);
    });

  }
Destroys model reference in database.
@param {function({Error} err, {Nodal.Model} model)} callback
  Method to execute upon completion, returns error if failed