Event-driven programming in GUIs