protected async StartClientStream<ReqT extends ProtoJSONCompatible, ResT = any>(endpoint: string, parseResponse: Parser<ResT>): Promise<ClientStream<ReqT, ResT>> {
        let url = this.BuildURL(endpoint, true);
        let ws = new MercuryWebSocket(url, parseResponse);
        // Establish the connection, set up event listeners, etc.
        await ws.init();