<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def handle_event(self, event_handler, event_name, user_args, event_timeout=None, cond=None, cond_timeout=None):
 """Handle events that don't have registered handlers In a new thread, poll one event of specified type from its queue and execute its handler. If no such event exists, the thread waits until one appears. Args: event_handler: Handler for the event, which should take at least one argument - the event json object. event_name: Name of the event to be handled. user_args: User arguments for the handler; to be passed in after the event json. event_timeout: Number of seconds to wait for the event to come. cond: A condition to wait on before executing the handler. Should be a threading.Event object. cond_timeout: Number of seconds to wait before the condition times out. Never times out if None. Returns: A concurrent.Future object associated with the handler. If blocking call worker.result() is triggered, the handler needs to return something to unblock. """

        worker = self.executor.submit(self._handle, event_handler, event_name,
                                      user_args, event_timeout, cond,
                                      cond_timeout)
        return worker