protected function registerProviders()
	{
		$dependants = [];

		foreach ($this->providers as $provider) {
			if (is_string($provider)) {
				$provider = new $provider();
			}

			$this->registerProvider($provider);

			if ($provider instanceof DependantProviderInterface) {
				$dependants[] = $provider;
			}
		}

		foreach ($dependants as $dependant) {
			$this->checkProviderDependencies($dependant);
		}
	}