public function option(string $raw, string $desc = '', callable $filter = null, $default = null): self
    {
        $option = new Option($raw, $desc, $default, $filter);

        $this->register($option);

        return $this;
    }
public function option(string $raw, string $desc = '', callable $filter = null, $default = null): self
    {
        $option = new Option($raw, $desc, $default, $filter);

        $this->register($option);

        return $this;
    }
public function option ( string $ raw , string $ desc = '' , callable $ filter = null , $ default = null ) : self { $ option = new Option ( $ raw , $ desc , $ default , $ filter ) ; $ this -> register ( $ option ) ; return $ this ; }
Registers new option.

@param string        $raw
@param string        $desc
@param callable|null $filter
@param mixed         $default

@return self
Registers new option .