code: protected function loadContainer(array $config = [], $environment = null)
  	{
  		$containerConfigs = $this->provideContainerConfigs($config, $environment);
  		array_unshift(
  			$containerConfigs,
  			new WeaveConfig(
  				function ($pipelineName) {
  					return $this->provideMiddlewarePipeline($pipelineName);
  				},
  				function ($router) {
  					return $this->provideRouteConfiguration($router);
  				}
  			)
  		);
  		$this->container = (new ContainerBuilder)->newConfiguredInstance(
  			$containerConfigs,
  			ContainerBuilder::AUTO_RESOLVE
  		);
  		return $this->container->get('instantiator');
  	}
docs: Setup the Dependency Injection Container
  
  @param array  $config      Optional config array as provided from loadConfig().
  @param string $environment Optional indication of the runtime environment.
  
  @return callable A callable that can instantiate instances of classes from the DIC.