Created enum for event type and Adding components behaviour as required