Understanding Event-Driven Programming: A Quick Overview