specifies
User
Event(s)
monitors
State Monitor
Application State
detects
Event detector
User specified events
notifies
Waiting user
Event notification