Add PlayerChat, PlayerJoin, PlayerQuit events; make EventDispatcher.register/unregister work with IDs