Object-oriented applications include the ability for objects to kick off events when the state of an object changes. This is very common in the user interface for business applications. Whenever a button is clicked, an action is completed because of the button being chosen or clicked. For example, clicking on a button labelled send will send an email to al the recipients.

Events can be triggered by a user or triggered programmatically. Events provide the benefit of asynchronously responding to the the changes in the state of the application.