/// <summary>
        /// Subscribe to a DevToolsProtocol event. See the
        /// [DevTools Protocol Viewer](https://aka.ms/DevToolsProtocolDocs)
        /// for a list and description of available events.
        /// The eventName parameter is the full name of the event in the format
        /// `{domain}.{event}`.
        /// The handler's Invoke method will be called whenever the corresponding
        /// DevToolsProtocol event fires. Invoke will be called with the
        /// an event args object containing the CDP event's parameter object as a JSON
        /// string.
        /// </summary>
        /// <param name="eventName"></param>
        public void StartListeningDevToolsProtocolEvent(string eventName)
        {
            if (_devToolsProtocolEventTokenDictionary.ContainsKey(eventName))
            {
                return;
            }

            long token = _webView2WebView.RegisterDevToolsProtocolEventReceived(eventName, OnDevToolsProtocolEventReceived);

            _devToolsProtocolEventTokenDictionary.Add(eventName, token);
        }