docs: def _init_caches(self):
          from .xcollections import (
              StringStore,
              FunctionStore,
              CharacterMapping,
              UniversalMapping
          )
          from .cache import (
              Cache,
              NodeContentsCache,
              InitializedCache,
              EntitylessCache,
              InitializedEntitylessCache,
              AvatarnessCache,
              AvatarRulesHandledCache,
              CharacterThingRulesHandledCache,
              CharacterPlaceRulesHandledCache,
              CharacterPortalRulesHandledCache,
              NodeRulesHandledCache,
              PortalRulesHandledCache,
              CharacterRulesHandledCache,
              ThingsCache
          )
          from .rule import AllRuleBooks, AllRules
  
          super()._init_caches()
          self._things_cache = ThingsCache(self)
          self._things_cache.setdb = self.query.set_thing_loc
          self._node_contents_cache = NodeContentsCache(self)
          self.character = self.graph = CharacterMapping(self)
          self._universal_cache = EntitylessCache(self)
          self._universal_cache.setdb = self.query.universal_set
          self._rulebooks_cache = InitializedEntitylessCache(self)
          self._rulebooks_cache.setdb = self.query.rulebook_set
          self._characters_rulebooks_cache = InitializedEntitylessCache(self)
          self._avatars_rulebooks_cache = InitializedEntitylessCache(self)
          self._characters_things_rulebooks_cache = InitializedEntitylessCache(self)
          self._characters_places_rulebooks_cache = InitializedEntitylessCache(self)
          self._characters_portals_rulebooks_cache = InitializedEntitylessCache(self)
          self._nodes_rulebooks_cache = InitializedCache(self)
          self._portals_rulebooks_cache = InitializedCache(self)
          self._triggers_cache = InitializedEntitylessCache(self)
          self._prereqs_cache = InitializedEntitylessCache(self)
          self._actions_cache = InitializedEntitylessCache(self)
          self._node_rules_handled_cache = NodeRulesHandledCache(self)
          self._portal_rules_handled_cache = PortalRulesHandledCache(self)
          self._character_rules_handled_cache = CharacterRulesHandledCache(self)
          self._avatar_rules_handled_cache = AvatarRulesHandledCache(self)
          self._character_thing_rules_handled_cache \
              = CharacterThingRulesHandledCache(self)
          self._character_place_rules_handled_cache \
              = CharacterPlaceRulesHandledCache(self)
          self._character_portal_rules_handled_cache \
              = CharacterPortalRulesHandledCache(self)
          self._avatarness_cache = AvatarnessCache(self)
          self._turns_completed = defaultdict(lambda: max((0, self.turn - 1)))
          """The last turn when the rules engine ran in each branch"""
          self.eternal = self.query.globl
          self.universal = UniversalMapping(self)
          if hasattr(self, '_action_file'):
              self.action = FunctionStore(self._action_file)
          if hasattr(self, '_prereq_file'):
              self.prereq = FunctionStore(self._prereq_file)
          if hasattr(self, '_trigger_file'):
              self.trigger = FunctionStore(self._trigger_file)
          if hasattr(self, '_function_file'):
              self.function = FunctionStore(self._function_file)
          if hasattr(self, '_method_file'):
              self.method = FunctionStore(self._method_file)
          self.rule = AllRules(self)
          self.rulebook = AllRuleBooks(self)
          if hasattr(self, '_string_file'):
              self.string = StringStore(
                  self.query,
                  self._string_file,
                  self.eternal.setdefault('language', 'eng')
              )