Raising an event invokes the event handler through a delegate. The OnViewerChanged method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class. Notes to Inheritors: When overriding OnViewerChanged in a derived class, be sure to call the base class's OnViewerChanged method so that registered delegates receive the event.