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');
	}