//Next round public void NextRoundEvent() { if (!IsFinish) { RoundIndex++; //Scoring update ExerciseMotionScore = Convert.ToInt32(Scoring.GetExerciseMotionScore(this)); this.NotifyPropertyChanged("ExerciseMotionScore"); CurrentRound = Rounds[RoundIndex]; if (RoundIndex < Repetitions) { //changing the round and add event to him CurrentRound.NextRoundEvent += NextRoundEvent; } else { IsFinish = true; } //update UI of the change NextRoundUpdateUIEvent(); } }