They are defined as :
> A source : It is an object that generates an event. This occurs when the internal state of that object changes in some way.
> A listener : It is an object that is notified when an event occurs. It has two major requirements.
* It must have been registered with a source to receive notifications about specific event.
* It must implement necessary methods to receive and process these notifications.