This page has been moved, the new location is observer_pattern.