public NotificationItemViewModel(NotificationItemModel embeddedModel)
        {
            _embeddedModel = embeddedModel;
            _commands      = new DispatcherNotifiedObservableCollection <CommandViewModel>();

            setupDoWorkCommand();
            setupBackgroundWorker();

            bgWorker_loadCommands.RunBackgroundTask();
            _embeddedModel.OnCommandsChanged += (o, e) => { bgWorker_loadCommands.RunBackgroundTask(); };
            _embeddedModel.OnRemoveRequested += (o, e) => { if (ParentModel != null)
                                                            {
                                                                ParentModel.RemovePending();
                                                            }
            };
            _embeddedModel.PropertyChanged += (o, e) =>
            {
                switch (e.PropertyName)
                {
                case "NotificationMode":
                    if (ProgressBrushDic.ContainsKey(_embeddedModel.NotificationMode))
                    {
                        ProgressForeground = ProgressBrushDic[_embeddedModel.NotificationMode];
                    }
                    if (_embeddedModel.NotificationMode == NotificationMode.Error &&
                        PercentCompleted < 33)
                    {
                        PercentCompleted = 33;
                    }
                    break;

                case "PercentCompleted":
                    if (_embeddedModel.NotificationMode != NotificationMode.Error)
                    {
                        PercentCompleted = _embeddedModel.PercentCompleted;
                    }
                    break;
                }
            };
        }