made Connect return unidirectional channels to avoid confusion as to which socket is which