We register the listener here but initializes the shard registry in the Grid here. This allows for a tiny window of race where the callback which try to access shard registry can be called before the shard registry is initialized