from threading import Thread
 from typing import Callable, Optional
 # ourselves
-from ircplom.events import (AffectiveEvent, ExceptionEvent, Logger,
-                            PayloadMixin, QueueMixin)
+from ircplom.events import AffectiveEvent, ExceptionEvent, Logger, QueueMixin
 from ircplom.irc_conn import (BaseIrcConnection, IrcConnAbortException,
                               IrcMessage, PORT_SSL)
 
 
 
 @dataclass
-class NewClientEvent(AffectiveEvent, PayloadMixin):
+class NewClientEvent(AffectiveEvent):
     'Put Client .payload into ClientsDb target.'
-    payload: 'Client'
+    payload: Client
 
     def affect(self, target: ClientsDb) -> None:
         target[self.payload.id_] = self.payload
 
 from dataclasses import dataclass
 from getpass import getuser
 # ourselves
-from ircplom.events import PayloadMixin
 from ircplom.tui_base import (BaseTui, PromptWidget, TuiEvent, Window,
                               CMD_SHORTCUTS)
 from ircplom.irc_conn import IrcMessage
 
 
 @dataclass
-class _ClientWindowEvent(TuiEvent, ClientIdMixin):
-    chat: str = ''
-
-
-@dataclass
-class _ClientLogEvent(_ClientWindowEvent, PayloadMixin):
-    payload: str
+class _ClientLogEvent(TuiEvent, ClientIdMixin):
+    chat: str
+    msg: str
 
     def affect(self, target: ClientTui) -> None:
         if self.chat == CHAT_GLOB:
             for win in target.client_wins(self.client_id):
-                win.log.append(self.payload)
+                win.log.append(self.msg)
         else:
-            target.client_win(self.client_id, self.chat
-                              ).log.append(self.payload)
+            target.client_win(self.client_id, self.chat).log.append(self.msg)
         target.redraw_affected()
 
 
 @dataclass
-class _ClientPromptEvent(_ClientWindowEvent, PayloadMixin):
+class _ClientPromptEvent(TuiEvent, ClientIdMixin):
     payload: tuple[str, str]
 
     def affect(self, target: ClientTui) -> None:
 class _ClientKnowingTui(Client):
 
     def _log(self, msg: str, chat: str = '') -> None:
-        self._cput(_ClientLogEvent, chat=chat, payload=msg)
+        self._cput(_ClientLogEvent, chat=chat, msg=msg)
 
     def update_login(self, nick_confirmed: bool, nickname: str = '') -> None:
         super().update_login(nick_confirmed, nickname)