private void Form1_Load(object sender, EventArgs e)
        {
            var comObject = new MyComVisibleClass();

            var status = new Label {
                Left = 10, Top = 10, Width = 50, Height = 25, BorderStyle = BorderStyle.Fixed3D
            };

            this.Controls.Add(status);

            comObject.Loaded += () =>
                                status.Text = "Loaded!";

            comObject.Closed += () =>
                                status.Text = "Closed!";

            var buttonOpen = new Button {
                Left = 10, Top = 60, Width = 50, Height = 50, Text = "Open"
            };

            this.Controls.Add(buttonOpen);
            buttonOpen.Click += (_, __) =>
            {
                comObject.Open();
                status.Text = "Opened!";
                comObject.Load("http://example.com");
            };

            var buttonClose = new Button {
                Left = 10, Top = 110, Width = 50, Height = 50, Text = "Close"
            };

            this.Controls.Add(buttonClose);
            buttonClose.Click += (_, __) =>
                                 comObject.Close();
        }
 internal EventHelper(MyComVisibleClass parent)
 {
     _parent = parent;
     _clientThreadDispatcher = System.Windows.Threading.Dispatcher.CurrentDispatcher;
 }