public void AddStepResult(Step step) { if (!StepResults.Any(sr => sr.Step.SelectorId == step.SelectorId && sr.Step.Value == step.Value)) { StepResults.Add(new StepResult(step)); } else { var stepResult = StepResults.First(sr => sr.Step.SelectorId == step.SelectorId && sr.Step.Value == step.Value); stepResult.Attempts++; } }