Fix duplicate listener issue by changing ArrayList to HashSet

`Set` makes sure that there isn't duplicate items