Changed Function Not Detecting Change

Hello, this script manages the status of the round although in the initial launch of the server the function does not detect the status value’s change fast enough. Any help is appreciated.

ServerScript:

local function Intermission()
	RoundModule.RespawnPlayers()
	RoundModule.Status("Intermission", 20)
end

local function StartRound()
	RoundModule.SetupRound()
	RoundModule.Status("Round", 120)
end

while true do
	Intermission()
	StartRound()
end

LocalScript:

RoundInfo.Status.Changed:Connect(function()
	if RoundInfo.Status.Value == "Intermission" then
		Status.Text = "Intermission"
		
	elseif RoundInfo.Status.Value == "Round" then
		Status.Text = "Survivors must Survive Ashes for the Full Round."
	end
end)
function Changed()
--code
end

Changed() --run once at start
RoundInfo.Status.Changed:Connect(Changed) --run everytime the value changes

PS: You can also wait for (a player to be added+some seconds) before starting the game loop:

game.Players.PlayerAdded:Wait() --wait until a player joins
task.wait(5) --wait for another 5 seconds
--game loop here