getEventsData and hasEventListener methods both done