public function __construct(InjectorConfig $config = null, AnnotationMetadataProvider $provider = null)
{
$config = $config ?: new InjectorConfig();
$this->bindings = new Bindings($config, $this);
$this->factory = new InstanceFactory($this->bindings, $provider ?: new DocCommentExtractor());
$this->repository = new InstanceRepository();
}