setattr(self.db, k, getattr(conn_setup, k))
         if self.db.port <= 0:
             self.db.port = PORT_SSL
-        self._start_connecting()
 
-    def _start_connecting(self) -> None:
+    def start_connecting(self) -> None:
 
         def connect(self) -> None:
             try:
 
     def affect(self, target: ClientsDb) -> None:
         target[self.payload.client_id] = self.payload
+        self.payload.start_connecting()
 
 
 @dataclass
 
             self._log('not re-connecting since already connected',
                       scope=LogScope.SAME, alert=True)
             return
-        self._start_connecting()
+        self.start_connecting()
 
     def _log(self, msg: str, scope: Optional[LogScope] = None, **kwargs
              ) -> None: