support rejoining if disco-server dies
proper disconnect/unregisters/timeouts
update tests