class MapManager:
 
-    def __init__(self, globs):
-        """With globs a globals() call, collect caller's Map classes."""
-        self.map_classes = []
-        for name in globs:
-            if name[:3] == 'Map':
-                self.map_classes += [globs[name]]
+    def __init__(self, map_classes):
+        """Collects tuple of basic Map[Geometry] classes."""
+        self.map_classes = map_classes
 
     def get_map_geometries(self):
         geometries = []
 
             yield (y, self.terrain[y * width:(y + 1) * width])
 
     def get_fov_map(self, yx):
-        # TODO: Currently only have MapFovHex. Provide MapFovSquare.
-        fov_map_class = map_manager.get_map_class('Fov' + self.geometry)
-        return fov_map_class(self, yx)
+        fov_class_name = 'Fov' + self.__class__.__name__
+        fov_class = globals()[fov_class_name]
+        return fov_class(self, yx)
 
     # The following is used nowhere, so not implemented.
     #def items(self):
         return neighbors
 
 
-class MapFovHex(MapHex):
+class FovMapHex(MapHex):
 
     def __init__(self, source_map, yx):
         self.source_map = source_map
         return neighbors
 
 
-class MapFovSquare(MapSquare):
+class FovMapSquare(MapSquare):
     """Just a marginally and unsatisfyingly adapted variant of MapFovHex."""
 
     def __init__(self, source_map, yx):
             distance += 1
 
 
-map_manager = game_common.MapManager(globals())
+map_manager = game_common.MapManager((MapHex, MapSquare))