Our tests have to listen for a lot of events, and that’s cumbersome. Before implementing more of our client timeout code, we take a short side trip to make listening for events easier. We build an abstraction that takes advantage of async/await to make it easier to wait for an event to occur.