The menu script passes intervals in milliseconds, but the Timer treated them as seconds, so wait_then_call(1100, open_mm) waited 1100 seconds and the menu never opened. setInterval also only fired once instead of repeating, so the button 'arrive' animation never advanced. Both are fixed, with a single scheduler thread serializing callbacks.