To make use of the observer, it is best to implement a
custom page class. The custom page class is a class that inherits from
System.Web.UI.Page and works like regular inheritance does. The reason to
implement a custom page class is because of the specialized nature of how this
will work. It is possible to not have to use a custom page class; however, for unit testing
purposes it makes it helpful to do so.
One of the approaches to implementing the observer pattern
is to have the page act as the subject. It is the one that controls certain
interactions and notifies its children that an update needs made. The children
are most likely user controls because the means to update will require the use
of an interface. Each user control would implement from a custom user control
base class, similar to how the custom page class works.