public void AddStep(
Step step,
bool update = true)
{
Contract.Requires(step != null);
if (update)
{
var oldStep = this.Steps.FirstOrDefault(x => x.Description == step.Description);
if (oldStep != null)
{
this.Steps.Remove(oldStep);
}
}
this.Steps.Add(step);
}