public function unique($table, $column = null, $id = false)
    {
        $rule = $table;

        // Take any argument after the 3 defined ones
        $args = array_slice(func_get_args(), 3);

        if (isset($column)) {
            $rule .= ",$column";
        }

        // A NULL value is a valid one for the validator,
        // so an explicit FALSE is checked
        if ($id !== false) {
            if ($id === null) {
                $rule .= ',NULL';
            }
            else {
                $rule .= ",$id";
            }
        }

        if ($args) {
            // Add optional arguments
            foreach ($args as $arg) {
                $rule .= ",$arg";
            }
        }

        $this->addRule("unique:$rule");
        return $this;
    }