Fix duplicate listener issue by changing ArrayList to HashSet

`Set` makes sure that there aren't duplicated items