enabled: bool = False
 
 
+class Topic(NamedTuple):
+    'Collects both setter and content of channel topic.'
+    what: str = ''
+    who: Optional[NickUserHost] = None
+
+
 class LogScope(Enum):
     'Where log messages should go.'
     ALL = auto()
                                     client_id=self.client_id).kw(e=e)
 
 
-class Topic(NamedTuple):
-    'Collects both setter and content of channel topic.'
-    what: str = ''
-    who: Optional[NickUserHost] = None
-
-
 class _CompletableTopic(_Completable):
     _what: str = ''
     _who: Optional[NickUserHost] = None
     pass
 
 
-class _UpdatingTopic(_UpdatingCompletable, _CompletableTopic):
+class _UpdatingCompletableTopic(_UpdatingCompletable, _CompletableTopic):
     pass
 
 
 class _UpdatingChannel(_UpdatingMixin, _Channel):
     user_ids: _UpdatingCompletableStringsList
-    topic: _UpdatingTopic
+    topic: _UpdatingCompletableTopic
 
 
 class _UpdatingNickUserHost(_UpdatingMixin, _NickUserHost):