private void InternalInitialize()
        {
            // http://imar.spaanjaars.com/278/how-do-i-detect-design-time-vs-run-time-in-a-net-control
            // http://stackoverflow.com/questions/34664/designmode-with-controls
            if (this.DesignMode)
                return;

            if (InternalListener == null)
            {
                InternalListener = new MulticastListener(MulticastSettings.testSettings);

                //using (
                Console.WriteLine("MulticastListener! " + new { System.Diagnostics.Process.GetCurrentProcess().Id });

                //)
                {

                    InternalListener.StartListening(
                        bytes =>
                        {
                            // +		$exception	{"'UTF16' is not a supported encoding name.\r\nParameter name: name"}	System.Exception {System.ArgumentException}
                            // what if javascript does not know how many bytes it has?
                            //var x = Encoding.GetEncoding("UTF-16").GetString(bytes);
                            var listen = Encoding.UTF8.GetString(bytes);

                            if (InternalAtData != null)
                                InternalAtData(listen);

                            //Console.WriteLine(new { listen });


                            //button1.Invoke(
                            //    new Action(
                            //        delegate
                            //        {
                            //            button1.Text = listen;
                            //        }
                            //    )
                            //);
                        }
                    );


                    // await next click?
                }
            }
        }
        private void InternalInitialize()
        {
            // http://imar.spaanjaars.com/278/how-do-i-detect-design-time-vs-run-time-in-a-net-control
            // http://stackoverflow.com/questions/34664/designmode-with-controls
            if (this.DesignMode)
                return;

            if (InternalListener == null)
            {
                InternalListener = new MulticastListener(MulticastSettings.testSettings);

                //using (
                Console.WriteLine("MulticastListener! " + new { System.Diagnostics.Process.GetCurrentProcess().Id });

                //)
                {

                    InternalListener.StartListening(
                        bytes =>
                        {
                            var listen = Encoding.UTF8.GetString(bytes);

                            if (InternalAtData != null)
                                InternalAtData(listen);

                            //Console.WriteLine(new { listen });


                            //button1.Invoke(
                            //    new Action(
                            //        delegate
                            //        {
                            //            button1.Text = listen;
                            //        }
                            //    )
                            //);
                        }
                    );


                    // await next click?
                }
            }
        }