code: @Override
      public MapTile generateMap(GeneratorParameter parameters,
                                 Collection<Media> levels,
                                 Media sheetsConfig,
                                 Media groupsConfig)
      {
          final Services services = new Services();
          final MapTile map = services.create(MapTileGame.class);
          map.loadSheets(sheetsConfig);
  
          final MapTileGroup mapGroup = map.addFeatureAndGet(new MapTileGroupModel());
          final MapTileTransition mapTransition = map.addFeatureAndGet(new MapTileTransitionModel(services));
          final MapTileCircuit mapCircuit = map.addFeatureAndGet(new MapTileCircuitModel(services));
  
          mapGroup.loadGroups(groupsConfig);
          mapTransition.loadTransitions(levels, sheetsConfig, groupsConfig);
          mapCircuit.loadCircuits(levels, sheetsConfig, groupsConfig);
  
          parameters.apply(map);
  
          return map;
      }
docs: /*
  MapGenerator