[CHORE] refactor listener with promises.