add pusher delegate methods and auto reconnect