code: def _execute_callback(self, callback, data):
          
          web_client = WebClient(
              token=self.token, base_url=self.base_url, ssl=self.ssl, proxy=self.proxy
          )
          with concurrent.futures.ThreadPoolExecutor(max_workers=1) as executor:
              # Execute the callback on a separate thread,
              future = executor.submit(
                  callback, rtm_client=self, web_client=web_client, data=data
              )
  
              while future.running():
                  pass
  
              future.result()
docs: Execute the callback in another thread. Wait for and return the results.