public void UpdateState(Event evt)
 {
     this.State = this.State.Update(evt);
 }
 public ExampleState Update(Event evt)
 {
     var list = new List<string> { evt.Data };
     list.AddRange(this.Events);
     return new ExampleState(list);
 }