added ConnectionStateListenerWrapper