check_maybe_do() returns a flag now:  *was* it time?
Timing priorities in examples/pulses.

void loop() {	// ARDUINO

  /* calling check_maybe_do() in a while loop
     increases timing priority of PULSES over the MENU.
     It has little influence on low system load levels
     but when on stress PULSES gets up to *all* available time.
     The intention is to have PULSES continue functioning and
     let the UI starve, when there is not enough time for everything.
  */
  while (PULSES.check_maybe_do()) { }	// in stress PULSES get's *first* priority.

  if(! MENU.lurk_then_do())		// MENU comes second in priority.
    {					// if MENU had nothing to do, then
      maybe_run_continuous();		//    lowest priority:
					//    maybe display input state changes.
    }
}