Why a new class instead of changing the existing ShardedDistributedMessageQueue?