protected void ApplyChange(Event @event)
 {
   ApplyChange(@event, true);
 }
 private void ApplyChange(Event @event, bool isNew)
 {      
    this.AsDynamic().Apply((dynamic)@event);
   if (isNew) _changes.Add(@event);
 }
 public string Serialize(Event @event)
 {
   return JsonConvert.SerializeObject(@event,settings);
 }