code: def startReq(self, key, contract=None, container=None):
          
          future = asyncio.Future()
          self._futures[key] = future
          self._results[key] = container if container is not None else []
          if contract:
              self._reqId2Contract[key] = contract
          return future
docs: Start a new request and return the future that is associated
          with with the key and container. The container is a list by default.