private void OnDestroy()
        {
            Logger.Info("Shutting down");
            MapView.OnEnterMapView -= OnEnterMapView;
            MapView.OnExitMapView  -= OnExitMapView;

            Logger.Debug("Disposing ToolbarButton");
            m_toolbarButton.Dispose();

            Logger.Debug("Disposing window");
            m_window.Dispose();

            Logger.Debug("Disposing OrbitVisibilityController");
            m_visibilityController.OnVisibilityChanged -= OnOrbitVisibilityChanged;
            m_visibilityController.Dispose();

            Logger.Debug("Writing configuration file");
            string configurationDirectory = Path.GetDirectoryName(ConfigurationFile);

            if (configurationDirectory != null && !Directory.Exists(configurationDirectory))
            {
                Directory.CreateDirectory(configurationDirectory);
            }
            ConfigurationParser.SaveToFile(ConfigurationFile, m_configuration);
        }