It was ported from an Observer which enforced the event semantics, but perhaps unnecessarily. Anyways, what is the procedure on such pull requests: should I close this one?