Ok we agreed upon moving all listeners call within synchronized block and document that the execution for the `indexShardStateChanged` needs to be lightweight.