public function __invoke() : array
 {
     return ['config' => ['community' => ['features' => array_map(function ($className) {
         $feature = $this->featuresFactory->createFeatureFromClassName($className);
         return ['code' => $feature->getCode(), 'name' => $feature->getTranslatedName(), 'description' => $feature->getTranslatedDescription(), 'fa_icon' => $feature->getFACode(), 'is_development_ready' => $feature->isDevelopmentReady(), 'is_production_ready' => $feature->isProductionReady()];
     }, $this->featuresFactory->listFeatures())]]];
 }
 public function deactivateFeature(string $featureStringCode, Community $community)
 {
     $feature = $this->featureFactory->createFeatureFromStringCode($featureStringCode);
     if (!$feature->isActivated($community)) {
         throw new FeatureIsNotActivatedException(sprintf('Feature `%s` is not activated for community `%d`', $featureStringCode, $community->getId()));
     }
     $feature->deactivate($community);
     $this->communityRepository->deactivateFeature($community, $featureStringCode);
 }