1. a part of a GUI that allows a specific type of interaction with the user 2. an action taken by the user or a process, such as a user clicking a mouse or pressing a key on a keyboard 3. an algorithm for handling an error 4. a part of a program that responds to an event​