Allow reconnect on connection loss with retry using ReconnectStatusListener

This is the combined solution we discussed via email.