[fix] use broadcast and local event listeners and fix typo