-- this function creates a function that will repeatedly call a function while the key is held

local function HandleHoldDown(functionToHold)
	local LastPressed = 0
	return function(inputObject)
		local CurrentTime = tick()
		LastPressed = CurrentTime
		while inputObject.UserInputState == Enum.UserInputState.Begin and Enabled and LastPressed == CurrentTime do
			functionToHold()
			wait(0.15)
		end
	end
end

local KnobModule = require(script.Parent.Knob)
local ReverserModule = require(script.Parent.Reverser)
local VisualizeModule = require(script.Parent.Visualization)
local AddressModule = require(script.Parent.Address)
local FunctionsModule = require(script.Parent.Functions)
