protected function registerExtension(): void
    {
        $this->app->singleton('orchestra.extension', function (Application $app) {
            $config = $app->make('config');
            $events = $app->make('events');
            $files = $app->make('files');
            $finder = $app->make('orchestra.extension.finder');
            $status = $app->make('orchestra.extension.status');
            $provider = $app->make('orchestra.extension.provider');

            return new Factory(
                $app, new Dispatcher($app, $config, $events, $files, $finder, $provider), $status
            );
        });
    }