public static function run($model, $field, $validations)
    {
        // Run validations
        foreach ($validations as $validation => $options) {
            // Is this a validation without any options?
            if (is_numeric($validation)) {
                $validation = $options;
            }

            if ($data = call_user_func_array(array(get_called_class(), $validation), array($model, $field, $options)) and $data !== null) {
                if (is_string($data)) {
                    $data = array('message' => $data);
                }
                $model->addError($field, $validation, array_merge($data, array('validation' => $validation)));
            }
        }
    }