protected function registerOrchestraFormBuilder(): void
    {
        $this->app->singleton(FormControlContract::class, Control::class);

        $this->app->singleton(TemplateContract::class, function (Application $app) {
            $namespace = $this->hasPackageRepository() ? 'orchestra/html::form' : 'orchestra.form';

            $class = $app->make('config')->get("{$namespace}.presenter", BootstrapThreePresenter::class);

            return $app->make($class);
        });

        $this->app->singleton('orchestra.form', function (Application $app) {
            return new FormFactory($app);
        });
    }