code: def event(self, cuuid, host, euuid, event_data, timestamp, priority):
          response = None
          if host in self.encrypted_hosts:
              logger.debug("Encrypted!")
              client_key = self.registry[cuuid]["encryption"]
          else:
              logger.debug("Not encrypted :<")
              client_key = None
          port = host[1]
          host = host[0]
          if not self.is_registered(cuuid, host):
              logger.warning("<%s> Sending BYE EVENT: Client not registered." % cuuid)
              response = serialize_data({"method": "BYE EVENT",
                                         "data": "Not registered"},
                                        self.compression,
                                        self.encryption, client_key)
              return response
          if euuid in self.event_uuids:
              logger.warning("<%s> Event ID is already being processed: %s" % (cuuid,
                                                                               euuid))
              return response
          self.event_uuids[euuid] = 0
          logger.debug("<%s> <euuid:%s> Currently processing events: "
                       "%s" % (cuuid, euuid, str(self.event_uuids)))
          logger.debug("<%s> <euuid:%s> New event being processed" % (cuuid, euuid))
          logger.debug("<%s> <euuid:%s> Event Data: %s" % (cuuid,
                                                           euuid,
                                                           pformat(event_data)))
          if self.middleware.event_legal(cuuid, euuid, event_data):
              logger.debug("<%s> <euuid:%s> Event LEGAL. Sending judgement "
                           "to client." % (cuuid, euuid))
              response = serialize_data({"method": "LEGAL",
                                         "euuid": euuid,
                                         "priority": priority},
                                        self.compression,
                                        self.encryption, client_key)
              thread = threading.Thread(target=self.middleware.event_execute,
                                        args=(cuuid, euuid, event_data)
                                        )
              thread.start()
          else:
              logger.debug("<%s> <euuid:%s> Event ILLEGAL. Sending judgement "
                           "to client." % (cuuid, euuid))
              response = serialize_data({"method": "ILLEGAL",
                                         "euuid": euuid,
                                         "priority": priority},
                                        self.compression,
                                        self.encryption, client_key)
          self.listener.call_later(self.timeout, self.retransmit,
                                   {"euuid": euuid,
                                    "response": response, "cuuid": cuuid})
          return response