// Note for implementors: It is allowed to call step() again // after it returned false (usually it should just return false again) sinterface Steppable { public bool step(); // return false if done }