def METHOD_NAME(
    self,
    event_type: CBEventType,
    payload: Optional[Dict[str, Any]] = None,
    event_id: str = "",
    **kwargs: Any,
) -> None:
    if payload is None:
        return
    if event_type is CBEventType.RETRIEVE:
        for node_with_score in payload[EventPayload.NODES]:
            node = node_with_score.node
            score = node_with_score.score
            self._trace_data.query_data.node_ids.append(node.hash)
            self._trace_data.query_data.scores.append(score)
            self._trace_data.node_datas.append(
                NodeData(
                    id=node.hash,
                    node_text=node.text,
                )
            )
    elif event_type is CBEventType.LLM:
        self._trace_data.query_data.response_text = str(
            payload.get(EventPayload.RESPONSE, "")
        ) or str(payload.get(EventPayload.COMPLETION, ""))
    elif event_type is CBEventType.EMBEDDING:
        self._trace_data.query_data.query_embedding = payload[
            EventPayload.EMBEDDINGS
        ][0]