generator yields listener for em