code: def handle_event(self, raiden_event: RaidenEvent) -> Greenlet:
          
          return gevent.spawn(self._handle_event, raiden_event)
docs: Spawn a new thread to handle a Raiden event.
  
          This will spawn a new greenlet to handle each event, which is
          important for two reasons:
  
          - Blockchain transactions can be queued without interfering with each
            other.
          - The calling thread is free to do more work. This is specially
            important for the AlarmTask thread, which will eventually cause the
            node to send transactions when a given Block is reached (e.g.
            registering a secret or settling a channel).
  
          Important:
  
              This is spawing a new greenlet for /each/ transaction. It's
              therefore /required/ that there is *NO* order among these.