Detecting PlayerData and firing a function

Hello, I’ll try and keep this as simple as I can. When a player joins, they have a folder that’s put under them holding 4 pieces of data, and I basically want to make a script that waits for the folder to exist and then detect what they have and ultimately connect a function to it. So far I have:

local AbilityLoad = game.ReplicatedStorage.Remotes.AbilityLoad

game.Players.PlayerAdded:Connect(function(player)
	local AbilityVal = player:WaitForChild("Stats").Ability.Value
	local SubAbilityVal = player:WaitForChild("Stats").Ability.Value
	print(AbilityVal, "and", SubAbilityVal)
end)

The code works well, but how would I then take the information I gather from each joining player, and connect it to a function that lets say parents a model to them and welds it to their hand, the welding and model is easy, I can do that, but I’ve got no clue how I’d go about taking the info around like that. If anybody knows what they’re doing (unlike myself), please let me know.

Any and all help is greatly appreciated.