public function addProvider(string $name, Provider $provider): self
    {
        $this->providers[$name] = $provider;
        return $this;
    }
public function addProvider(string $name, Provider $provider): self
    {
        $this->providers[$name] = $provider;
        return $this;
    }
public function addProvider ( string $ name , Provider $ provider ) : self { $ this -> providers [ $ name ] = $ provider ; return $ this ; }
Adds a new Provider.

This method exists only for completeness. You'd probably spend less
effort if you call `->eager`, `->lazy`, or `->proto`.

@param string $name The component name
@param \Caridea\Container\Provider $provider The provider
@return $this provides a fluent interface
Adds a new Provider .