private async void OpenAddMuscleDialogAsync()
        {
            var exercisedMuscle = new ExercisedMuscle
            {
                RelativeEngagement = 100d
            };

            var dialog = _dialogs.For <AddExercisedMuscleDialogViewModel>(DialogsIdentifier);

            dialog.Data.DialogTitle       = "Add a muscle";
            dialog.Data.SubmitButtonTitle = "Select";
            dialog.Data.AvailableMuscles  = _availableMuscles.Where(IsMuscleAvailable);
            dialog.Data.ExercisedMuscle   = ExercisedMuscleViewModel.FromModel(exercisedMuscle);

            var dialogResult = await dialog.Show();

            if (dialogResult != DialogResult.Ok)
            {
                return;
            }

            exercisedMuscle = dialog.Data.ExercisedMuscle.ToModel();

            Exercise.Muscles.Add(exercisedMuscle);
            Exercise.Muscles.Refresh(exercisedMuscle);
            OpenAddMuscleDialogCommand.RaiseCanExecuteChanged();
        }
        private void DeleteMuscle(ExercisedMuscle muscle)
        {
            Exercise.Muscles.RemoveByReference(muscle);

            OpenAddMuscleDialogCommand.RaiseCanExecuteChanged();
        }