Instead of just notify a boolean whenever a change in the progress is made:
emitter.emit(progressEventId, true/false);
We could report the counter itself, which determines the number of pending promises. This can be done instead of the true/false flag:
emitter.emit(progressEventId, counter);
or providing backwards compatibility (extending the emit with an extra parameter):
emitter.emit(progressEventId, true/false, counter);