static A awtStepContinuously(A component, Steppable steppable) { if (steppable == null) ret component; new SingleThread thread; new BoolVar visible; var info = _threadInfo(); Runnable theLoop = r { _threadInheritInfo(info); while ping (visible! && steppable.step()) {} }; bindToComponent(component, -> { visible.set(); thread.go(theLoop); }, -> visible.clear()); ret component; }