1. A method of processing a replicated set of data, comprising: receiving at a target, from one of a plurality of replication processing threads, a received batch of one or more non-synchronization tasks; using a processor to determine that the received batch comprises a next batch to be performed at the target; and performing in a task order the non-synchronization tasks included in the batch.