Organize listeners to be cleaner