docs: def _configure_injector(self, modules):
          """Create the injector and install the modules.
  
          There is a necessary order of calls. First we have to bind `Config` and
          `Zsl`, then we need to register the app into the global stack and then
          we can install all other modules, which can use `Zsl` and `Config`
          injection.
  
          :param modules: list of injection modules
          :type modules: list
          """
          self._register()
          self._create_injector()
          self._bind_core()
          self._bind_modules(modules)
          self.logger.debug("Injector configuration with modules {0}.".format(modules))
          self._dependencies_initialized = True