separate ReplicationService and ReplicatedMap