public function proto(string $name, string $type, $factory): self
    {
        return $this->addProvider($name, new Provider($type, $factory, false));
    }
public function proto(string $name, string $type, $factory): self
    {
        return $this->addProvider($name, new Provider($type, $factory, false));
    }
public function proto ( string $ name , string $ type , $ factory ) : self { return $ this -> addProvider ( $ name , new Provider ( $ type , $ factory , false ) ) ; }
Adds a component that provides a new instance each time it's instantiated.

```php
$builder->lazy('objectStorage', 'SplObjectStorage', function($c) {
return new \SplObjectStorage();
});
```

@param string $name The component name
@param string $type The class name of the component
@param object $factory A `Closure` or class with an `__invoke` method to return the component
@return $this provides a fluent interface
Adds a component that provides a new instance each time it s instantiated .