/// <summary>
        /// Sole constructor.  Just grabs the properties page
        /// </summary>
        public MainWindowViewModel() : base()
        {
            Properties = PreferencesViewModel.Instance;

            Log.Clear();
            Log.Add(new LogEventArgs("UI", "Started", LogSeverity.Debug));

            // Start the listener:

            WebServiceHost.WebServiceLogger += (sender, e) => UIAction(() => Log.Add(e));
            WebServiceHost.StartWebService(Properties.Port);

            // If the port numer changes in the preferences, restart the listener:

            Properties.PropertyChanged += (sender, e) =>
            {
                if (e.PropertyName != "Port")
                {
                    return;
                }
                WebServiceHost.StopWebService();
                WebServiceHost.StartWebService(Properties.Port);
            };
        }
 /// <summary>
 /// Called when the application is closing
 /// </summary>
 private void OnClose(object param)
 {
     WebServiceHost.StopWebService();
 }