Added EventListener pattern.