docs: function (options, callback) {
              var self = this;
  
              flow()
                  .seq(function (cb) {
                      self.validate(options, cb);
                  })
                  .seq(function (cb) {
                      if (self.isValid()) {
                          self.save(options, cb);
                      } else {
                          cb(new ValidationError("Model is not valid!", "INVALID_MODEL", "", self));
                      }
                  })
                  .exec(function (err) {
                      callback && callback(err, self);
                  });
          }