- for asynchronous, event-driven applications - notifies systems when events occur