Event Driven Programming Models: Definition and explanation, Benefits, Key components, Challenges and considerations.