def METHOD_NAME(
        dispatcher,
        gossip,
        completer,
        block_store,
        batch_tracker,
        merkle_db,
        get_current_root,
        receipt_store,
        event_broadcaster,
        permission_verifier,
        thread_pool,
        client_thread_pool,
        sig_pool,
        journal,
        public_key,
):
    # -- Client -- #
    dispatcher.add_handler(
        validator_pb2.Message.CLIENT_BATCH_SUBMIT_REQUEST,
        BatchListPermissionVerifier(
            permission_verifier=permission_verifier
        ),
        sig_pool)
    # Submit
    dispatcher.set_preprocessor(
        validator_pb2.Message.CLIENT_BATCH_SUBMIT_REQUEST,
        client_handlers.client_batch_submit_request_preprocessor,
        client_thread_pool)
    dispatcher.add_handler(
        validator_pb2.Message.CLIENT_BATCH_SUBMIT_REQUEST,
        ClientBatchSubmitBackpressureHandler(
            public_key,
            journal.is_batch_pool_full),
        client_thread_pool)
    dispatcher.add_handler(
        validator_pb2.Message.CLIENT_BATCH_SUBMIT_REQUEST,
        signature_verifier.BatchListSignatureVerifier(),
        sig_pool)
    dispatcher.add_handler(
        validator_pb2.Message.CLIENT_BATCH_SUBMIT_REQUEST,
        structure_verifier.BatchListStructureVerifier(),
        client_thread_pool)
    dispatcher.add_handler(
        validator_pb2.Message.CLIENT_BATCH_SUBMIT_REQUEST,
        CompleterBatchListBroadcastHandler(
            completer, gossip),
        client_thread_pool)
    dispatcher.add_handler(
        validator_pb2.Message.CLIENT_BATCH_SUBMIT_REQUEST,
        client_handlers.BatchSubmitFinisher(batch_tracker),
        client_thread_pool)
    dispatcher.add_handler(
        validator_pb2.Message.CLIENT_BATCH_STATUS_REQUEST,
        client_handlers.BatchStatusRequest(batch_tracker),
        client_thread_pool)
    # State
    dispatcher.add_handler(
        validator_pb2.Message.CLIENT_STATE_LIST_REQUEST,
        client_handlers.StateListRequest(
            merkle_db,
            block_store),
        client_thread_pool)
    dispatcher.add_handler(
        validator_pb2.Message.CLIENT_STATE_GET_REQUEST,
        client_handlers.StateGetRequest(
            merkle_db,
            block_store),
        client_thread_pool)
    # Blocks
    dispatcher.add_handler(
        validator_pb2.Message.CLIENT_BLOCK_LIST_REQUEST,
        client_handlers.BlockListRequest(block_store),
        client_thread_pool)
    dispatcher.add_handler(
        validator_pb2.Message.CLIENT_BLOCK_GET_BY_ID_REQUEST,
        client_handlers.BlockGetByIdRequest(block_store),
        client_thread_pool)
    dispatcher.add_handler(
        validator_pb2.Message.CLIENT_BLOCK_GET_BY_NUM_REQUEST,
        client_handlers.BlockGetByNumRequest(block_store),
        client_thread_pool)
    dispatcher.add_handler(
        validator_pb2.Message.CLIENT_BLOCK_GET_BY_BATCH_ID_REQUEST,
        client_handlers.BlockGetByBatchRequest(block_store),
        client_thread_pool)
    dispatcher.add_handler(
        validator_pb2.Message.CLIENT_BLOCK_GET_BY_TRANSACTION_ID_REQUEST,
        client_handlers.BlockGetByTransactionRequest(block_store),
        client_thread_pool)
    # Batches
    dispatcher.add_handler(
        validator_pb2.Message.CLIENT_BATCH_LIST_REQUEST,
        client_handlers.BatchListRequest(block_store),
        client_thread_pool)
    dispatcher.add_handler(
        validator_pb2.Message.CLIENT_BATCH_GET_REQUEST,
        client_handlers.BatchGetRequest(block_store),
        client_thread_pool)
    # Transactions
    dispatcher.add_handler(
        validator_pb2.Message.CLIENT_TRANSACTION_LIST_REQUEST,
        client_handlers.TransactionListRequest(
            block_store),
        client_thread_pool)
    dispatcher.add_handler(
        validator_pb2.Message.CLIENT_TRANSACTION_GET_REQUEST,
        client_handlers.TransactionGetRequest(
            block_store),
        client_thread_pool)
    # Receipts
    dispatcher.add_handler(
        validator_pb2.Message.CLIENT_RECEIPT_GET_REQUEST,
        ClientReceiptGetRequestHandler(receipt_store),
        client_thread_pool)
    # Events
    dispatcher.add_handler(
        validator_pb2.Message.CLIENT_EVENTS_SUBSCRIBE_REQUEST,
        ClientEventsSubscribeValidationHandler(event_broadcaster),
        client_thread_pool)
    dispatcher.add_handler(
        validator_pb2.Message.CLIENT_EVENTS_SUBSCRIBE_REQUEST,
        ClientEventsSubscribeHandler(event_broadcaster),
        client_thread_pool)
    dispatcher.add_handler(
        validator_pb2.Message.CLIENT_EVENTS_UNSUBSCRIBE_REQUEST,
        ClientEventsUnsubscribeHandler(event_broadcaster),
        client_thread_pool)
    dispatcher.add_handler(
        validator_pb2.Message.CLIENT_EVENTS_GET_REQUEST,
        ClientEventsGetRequestHandler(event_broadcaster),
        client_thread_pool)
    # Peers
    dispatcher.add_handler(
        validator_pb2.Message.CLIENT_PEERS_GET_REQUEST,
        client_handlers.PeersGetRequest(gossip),
        thread_pool)
    # Status
    dispatcher.add_handler(
        validator_pb2.Message.CLIENT_STATUS_GET_REQUEST,
        client_handlers.StatusGetRequest(gossip),
        thread_pool)
    # Ping
    dispatcher.add_handler(
        validator_pb2.Message.PING_RESPONSE,
        PingResponseHandler(),
        thread_pool)