Listening and error listener
Revert "Listening and error listener"

This reverts commit 0eb34316e21fbf4acda16a57abdf260a8338ef2c.
Revert "Revert "Listening and error listener""

This reverts commit 0b1aabf80cf0c7a59f70dc188c40e816ad4c0bee.