Why not just return promise returned by `once` ? This feels like extra unnecessary work.