public function boot(): void
	{
		$fileSystem = $this->container->get(FileSystem::class);

		// Register configuration namespace

		if($fileSystem->isDirectory($path = $this->getConfigPath()))
		{
			$configLoader = $this->container->get(Config::class)->getLoader();

			if(in_array(NamespacedFileLoaderTrait::class, class_uses($configLoader)))
			{
				$configLoader->registerNamespace($this->getFileNamespace(), $path);
			}
		}

		// Register i18n namespace

		if($fileSystem->isDirectory($path = $this->getI18nPath()) && $this->container->has(I18n::class))
		{
			$i18nLoader = $this->container->get(I18n::class)->getLoader();

			if(in_array(NamespacedFileLoaderTrait::class, class_uses($i18nLoader)))
			{
				$i18nLoader->registerNamespace($this->getFileNamespace(), $path);
			}
		}

		// Register view namespace

		if($fileSystem->isDirectory($path = $this->getViewPath()) && $this->container->has(ViewFactory::class))
		{
			$this->container->get(ViewFactory::class)->registerNamespace($this->getFileNamespace(), $path);
		}

		// Bootstrap package

		$this->bootstrap();
	}