docs: def teardown(self):
          """
          Tears down the instance, removing any remaining sessions that this instance has created.
  
          The instance must not be used after this method has been called.
          """
          with self._teardown_lock:
              if not self._teardown_called:
                  self._teardown_called = True
                  if len(self._acquiring_session_ids) > 0:
                      logger.info(
                          f"Destroying all sessions that have not acquired keys: {self._acquiring_session_ids}...")
                  for session_id in self._acquiring_session_ids:
                      try:
                          self.consul_client.session.destroy(session_id=session_id)
                          logger.debug(f"Destroyed: {session_id}")
                      except requests.exceptions.ConnectionError as e:
                          logger.debug(f"Exception: {e}")
                          logger.warning(f"Could not connect to Consul to clean up session {session_id}")
                  atexit.unregister(self.teardown)