Replica - Server to client state replication (Module)

local cache = {}
Players.PlayerAdded:Connect(function(player)
	local data = Saving.New(player)
	if not data then player:Kick('Your data failed to load!') end

	local leaderstats = Instance.new('Folder')
	leaderstats.Name = 'leaderstats'
	leaderstats.Parent = player
	
	local Coins = Instance.new('StringValue')
	Coins.Name = 'Coins'
	Coins.Value = tostring(data.Currencies.Coins)
	Coins.Parent = leaderstats
	
	DataTransmitter:FireClient(player, data)
	
	local PlayerToken = Replica.Token(`PlayerData_{player.UserId}`)
	local replica = Replica.New({
		Token = PlayerToken,
		Tags = {UserId = player.UserId},
		Data = data

	})
	cache[player] = replica
	--replica:Replicate()
end)
Replica.NewReadyPlayer:Connect(function(player)
	cache[player]:Subscribe(player)
end)

guys, if creating multiple tokens is not recommended, how am I supposed to make a replica for each player? Because if I create the replica inside PlayerAdded it gives the token duplication error. How do I fix this?

Obs: the way I did it works, but if I use the token just as ‘PlayerData’ it gives a token duplication error