Better way to pass instances to a Gui/script

I just want to know if there’s a better method then this:

local function InsertGui(Player, Room, GameRoom)
	local Insert = ServeGui:Clone()
	Insert.StringVal1.Value = Room.Name
	Insert.StringVal2.Value = GameRoom.Name
	Insert.Parent = Player.PlayerGui
	print("New game started. "..Room.Name.." filled. "..GameRoom.Name.." begin.")
end

Basically I want a way to let the GUI know which room/gameroom it will be messing with I can accomplish this in a few ways. I could just hard code it into the gui script to find the gameroom/room from the player it exists in, but I could also put a couple of string values inside the gui and have them set to the names (like currently in the code) which would make the hard coding a little simpler, OR MAYBE THERE’S A BETTER WAY ALL AROUND!? Thanks.