reoganize control message handlers to avoid recursive reconnects