srecord noeq SteppableOnce(Runnable action) is Steppable { public bool step() { Runnable r = action; if (r != null) { action = null; r.run(); } false; } } static Steppable steppableOnce(Runnable action) { ret new SteppableOnce(action); }