protected virtual void OnMyMagicEvent(EventArgs e)
 {
     MyMagicEvent?.Invoke(this, e);
 }
 public virtual void OnMyMagicEvent(EventArgs e)
 {
     MyMagicEvent?.Invoke(this, e);
 }