title: Using Instance Methods in Sequelize
body: <p>Can someone help me understand how to use instance methods in Sequelize? I've reviewed the documentation but have found it to be sparse. At present, I am trying to use setPassword and verifyPassword instance methods on my user model. When I try to call the code in the REPL, after having imported the user model and synced the DB, I get the following:</p>
  
  <pre><code>&gt; models.User.setPassword('test');
  TypeError: Object [object Object] has no method 'setPassword'
  </code></pre>
  
  <p>Here is the code for the user model:</p>
  
  <pre><code>var bcrypt = require('bcrypt');
  
  module.exports = function(sequelize, DataTypes) {
    return sequelize.define('User', {
      email: { type: DataTypes.STRING, unique: true, allowNull: false, validate: { isEmail: true } },
      password: { type: DataTypes.STRING, allowNull: false},
      firstName: {type: DataTypes.STRING},
      lastName: {type: DataTypes.STRING},
      companyName: {type: DataTypes.STRING},
      admin: {type: DataTypes.BOOLEAN, allowNull: false, defaultValue: false,},
      forgotUrl: {type: DataTypes.STRING, unique: true},
      forgotDate: {type: DataTypes.STRING},
      lastLogin: {
        type: DataTypes.DATE,
        defaultValue: DataTypes.NOW
      }
    }, {
      paranoid: true,
      instanceMethods: {
        setPassword: function(password, done) {
          return bcrypt.genSalt(10, function(err, salt) {
            return bcrypt.hash(password, salt, function(error, encrypted) {
              this.password = encrypted;
              this.salt = salt;
              return done();
            });
          });
        },
        verifyPassword: function(password, done) {
          return bcrypt.compare(password, this.password, function(err, res) {
            return done(err, res);
          });
        }
      }
    });
  };
  </code></pre>