def create(self): id = uuid.uuid4().hex remove = functools.partial(self._remove_event, id) event = Event() self.events[id] = weakref.proxy(event, remove) event.id = id return event, id