Move replication implementation to DataModel