[refactor] Part 2 - Dedicated async emitter