Yeah, I just added the code highlighter, which build the highlights using javascript. I set to "display: none" while the page loads which isn't effecting the print version. The workaround is that you can print the code blocks by clicking the print icon in each code section. I'll fix it later.<br>
<br>Regarding the observer pattern, I'll refer you to this stack overflow question:<br><br><a href="http://stackoverflow.com/questions/550785/c-events-or-an-observer-interface-pros-cons">http://stackoverflow.com/questions/550785/c-events-or-an-observer-interface-pros-cons</a><br>
<br>My take is that event are more natural and that they are probably more well established than the pattern of creating an interface to subscribe to events. Once the plumbing is in place (adding method pointer types to a language), they are much easier to hook up. Events also allow you hook up to the only the notifications in which you are 
interested. If you've used Visual Basic (the old one), Delphi, or C#  hooking up mouse click, key press, or selection change events becomes more natural.<br>