If you do a while loop with a wait msec i it will loop until you restart Mobius, not sure about performance issues from this but it will work I believe for part of what you'd like
#Timer 1 second
global var timerRunning = false
if timerRunning == true {
timerRunning = false
} else {
// 1. YOU MUST SET THE VARIABLE TO TRUE SO THE LOOP CAN START
timerRunning = true
var i = 1
// 2. USE == FOR COMPARISON
while (i < 3600 and timerRunning == true) {
wait msec 1000
// 3. THE EXIT HATCH: Check if the toggle was hit during the wait
if timerRunning == false break
i = i + 1
// things to happen over time...
}
// 4. RESET THE VARIABLE SO IT CAN BE STARTED AGAIN
timerRunning = false
}