public function validate(Model $model, $set) {
        if (!isset($model->validations[$set])) {
            throw new OutOfBoundsException(sprintf('Validation set %s does not exist', $set));
        }

        $rules = $model->validations[$set];
        $settings = $this->settings[$model->alias];

        // Add default messages second
        if ($settings['useDefaults']) {
            $rules = $this->_applyMessages($model, $rules);
        }

        // Merge in case there are other behaviors modifying the rules
        $model->validate = Hash::merge($model->validate, $rules);

        return $model;
    }