public function edit(ConfigurationListener $listener, AreaContract $area, Provider $provider)
    {
        $provider->area    = $area->getId();
        $provider->enabled = true;

        $provider->setProviderGateway($this->twoFactorProvidersService->getProviderGatewayByName($provider->name));

        $form = $this->presenter->form($provider);

        Event::fire("antares.form: two_factor_auth", [$provider, $form]);
        Event::fire("antares.form: foundation.two_factor_auth", [$provider, $form, "foundation.two_factor_auth"]);

        return $listener->showProviderConfiguration($form);
    }