Fix memory-leak by storing a Set<Player>
Use PlayerChatEvent over AsyncPlayerChatEvent