Instead of (ab)using the conn_stream's wait_list, which should disappear, give the checks their own wait_list.