Update fireAndForget to return the result of emitting the event and add a unit test