public void Error(string text = "Invalid operation")
        {
            if (_isCalled)
            {
                throw new InvalidOperationException();
            }

            var arguments = new MessageArrayValue();

            arguments.Add(MessageValue.CreateBool(false));
            arguments.Add(MessageValue.CreateString(text));
            arguments.Add(MessageValue.CreateString($"{_uuid}"));


            CefRuntime.PostTask(CefThreadId.Renderer, new JavaScriptCommunicationBridge.RenderSideJavaScriptExecutionCallbackTask(_jsBridge, _frame, arguments));

            _isCalled = true;
        }
        public void Success(params JavaScriptValue[] retvals)
        {
            if (_isCalled)
            {
                throw new InvalidOperationException();
            }

            var retval = retvals?.ToJSValue() ?? JavaScriptValue.CreateArray();

            var arguments = new MessageArrayValue();

            arguments.Add(MessageValue.CreateBool(true));
            arguments.Add(MessageValue.CreateString(retval.ToDefinition()));
            arguments.Add(MessageValue.CreateString($"{_uuid}"));


            CefRuntime.PostTask(CefThreadId.Renderer, new JavaScriptCommunicationBridge.RenderSideJavaScriptExecutionCallbackTask(_jsBridge, _frame, arguments));

            _isCalled = true;
        }