/**
  * Remove a navigation item
  */
 public function removeAction()
 {
     $itemName = $this->params->getRequired('name');
     $itemType = $this->params->getRequired('type');
     $user = $this->Auth()->getUser();
     $navigationConfigForm = new NavigationConfigForm();
     $navigationConfigForm->setUser($user);
     $navigationConfigForm->setShareConfig(Config::navigation($itemType));
     $navigationConfigForm->setUserConfig(Config::navigation($itemType, $user->getUsername()));
     $form = new ConfirmRemovalForm();
     $form->setRedirectUrl('navigation');
     $form->setOnSuccess(function (ConfirmRemovalForm $form) use($itemName, $navigationConfigForm) {
         try {
             $itemConfig = $navigationConfigForm->delete($itemName);
         } catch (NotFoundError $e) {
             Notification::success(sprintf(t('Navigation Item "%s" not found. No action required'), $itemName));
             return true;
         } catch (Exception $e) {
             $form->error($e->getMessage());
             return false;
         }
         if ($navigationConfigForm->save()) {
             if ($itemConfig->type === 'menu-item') {
                 $form->getResponse()->setRerenderLayout();
             }
             Notification::success(sprintf(t('Navigation Item "%s" successfully removed'), $itemName));
             return true;
         }
         return false;
     });
     $form->handleRequest();
     $this->renderForm($form, $this->translate('Remove Navigation Item'));
 }