public virtual void Delete() { From.Disconnect(this, false); To.Disconnect(this, false); OnDeleted?.Invoke(); }