cleanup = () => {
      peer.conn.removeListener('connect', onConnect)
      peer.conn.removeListener('error', onError)
    }
WebRTC peer connections start out connected, because WebRTC peers require an
"introduction" (i.e. WebRTC signaling), and there's no equivalent to an IP address
that lets you refer to a WebRTC endpoint.