public function add(string $name, $fg = '', $bg = '', array $options = [], bool $extra = false): self
    {
        if (\is_array($fg)) {
            return $this->addByArray($name, $fg);
        }

        if (\is_object($fg) && $fg instanceof Color) {
            $this->styles[$name] = $fg;
        } else {
            $this->styles[$name] = Color::make($fg, $bg, $options, $extra);
        }

        return $this;
    }