Observer lets a Subject broadcast events to any number ofObservers that have subscribed, without knowing their concrete types.
Implement Subject.attach(observer), Subject.detach(observer) andSubject.notify(event) (calls .update(event) on every attached observer).
solve(operations) drives one shared Subject through 'attach' /'detach' / 'notify' ops (each carrying an observer id) and returns
the combined [[id, event], ...] delivery log.
Sample tests