public void ShowFeedbackIndicator(string message, EventHandler cancelled, object owner, string cancelText = "Cancel")
	    {
            SafeInvoke(() =>
            {
                if (_popupDialogWindow != null)
                {
                    HideFeedbackIndicator();
                }
                _popupDialogWindow = new PopupMetroWindow
                {
                    DataContext = new PopupViewModel(message, cancelText, cancelled) { ShowProgress = true }
                };
                if (owner != null)
                {
                    _popupDialogWindow.Owner = (Window)owner;
                }
                else
                {
                    _popupDialogWindow.Owner = (Window)ShellHandle;
                }
                _popupDialogWindow.Show();
            });
	    }
		public void HideFeedbackIndicator()
		{
			SafeInvoke(() =>
				{
					if (_popupDialogWindow != null)
					{
						SafeInvoke(() =>
							{
								if (_popupDialogWindow != null &&
								    _popupDialogWindow.ViewModel != null &&
								    _popupDialogWindow.ViewModel.View != null)
								{
									((Window) _popupDialogWindow.ViewModel.View).IsEnabled = true;
								}
								if (_popupDialogWindow != null) _popupDialogWindow.Hide();
								_popupDialogWindow = null;
							});
					}
				});
		}