To be blunt, the `observer` library kind of sucks. I tend to write this stuff myself because I don't like jamming all event notifications into a single generic `#notify` method. See the various "listeners" in GOOS for inspiration.