return function(x,g,u)return function(e)local Y=x.playerSpots for x,g in pairs(Y)do g:cleanup()Y[x]=PlayerSpots.new(e.quotaPerPlayer)end x.canvases={}setupServer(x,g,u)end end

return function(contexts, services, remoteEvents)
	return function(config)
		local playerSpots = contexts.playerSpots

		-- Reset all player spots
		for userId, playerSpot in pairs(playerSpots) do
			playerSpot:cleanup()
			playerSpots[userId] = PlayerSpots.new(config.quotaPerPlayer)
		end

		-- Re-run setup code
		contexts.canvases = {}
		setupServer(contexts, services, remoteEvents)
	end
end
