public virtual void Detach(Observer o) => Observers.Remove(o);
public virtual void Attach(Observer o) => Observers.Add(o);