protected override void DoDispose()
        {
            Messenger.Default.Unregister <ObjectCountMessage>(this);
            Messenger.Default.Unregister <FocuserIDChangedMessage>(this);
            RegisterStatusUpdateMessage(false);

            _toggleFocuserConnectedCommand = null;

            ParametersVm.Dispose();
            ParametersVm = null;
            ControlVm.Dispose();
            ControlVm = null;
        }
        protected override void DoDispose()
        {
            Messenger.Default.Unregister <ObjectCountMessage>(this);
            Messenger.Default.Unregister <DomeIDChangedMessage>(this);
            Messenger.Default.Unregister <DomeCapabilitiesUpdatedMessage>(this);
            Messenger.Default.Unregister <DomeParametersUpdatedMessage>(this);
            RegisterStatusUpdateMessage(false);

            _toggleDomeConnectedCommand = null;

            ParametersVm.Dispose();
            ParametersVm = null;
            CapabilitiesVm.Dispose();
            CapabilitiesVm = null;
            MotionVm.Dispose();
            MotionVm = null;
        }