It was inspired by Announcements from VisualWorks, but implemented from scratch based only on publicly available description. I guess it was done specifically to avoid potential problems with licensing. Lukas could say more about it, since it is he, who did an initial implementation , if i'm not mistaken.
The original implementation is the one of Colin in OB. I extracted it and created a separate package the Pharo integrated at some point. Licensing made it impossible to have the same implementation as VisualWorks.
If you think there is a missing functionality, which could be useful for general use, feel free to propose the changes (but please do that in pharo-dev list), so we will discuss it and consider for inclusion in next Pharo release.
OB used the Pharo implementation for a while (if I remember correctly that was during Pharo 1.1), but eventually dropped back to its own implementation. Today it is probably the best to implement your own announcements with your own two methods that you need to make sure it just works in your package. Lukas -- Lukas Renggli www.lukas-renggli.ch