pub fn run_member<B, C, ADN>(
    subtask_common: TaskCommon,
    multikeychain: Keychain,
    config: Config,
    network: NetworkWrapper<NetworkData<HashWrapper<BlakeTwo256>, PhronData, Signature, SignatureSet<Signature>>, ADN>,
    data_provider: impl DataProvider<PhronData> + Send + 'static,
    ordered_data_interpreter: OrderedDataInterpreter<SubstrateChainInfoProvider<B, C>>,
    backup: (Box<dyn Write + Send + Sync>, Box<dyn Read + Send + Sync>)
) -> Task
where B: Block<Hash = BlockHash>, B::Header: Header<Number = BlockNumber>, C: HeaderBackend<B> + Send + 'static, ADN: Network<NetworkData<HashWrapper<BlakeTwo256>, PhronData, Signature, SignatureSet<Signature>>> + 'static,