In the click counter example, the model is passive; it only responds to events through callbacks that are attached to the event-handlers for graphical components in the view. In many applications, however, the model itself is a source of events that must reflected by changes in the view. As an example of such an active model, consider a clock. It must generate an event for each ``tick'' in time that affects for the contents of the view. If the view displays the time in minutes, the clock must generate a ``tick'' event each time the minute changes. A thorough discussion of active models is beyond the scope of this monograph. The key idea is that the model must generate events just like active components of the view such as buttons. The controller must must construct listeners that invoke the appropriate operations in the view to update the view's display to reflect the new state of the model.