Restart the client when listeners change.

The listeners are an immutable list internally. This means that if we
add a listener, we need to re-start the client.