void life( bool (*doTask)() )
{ 
  bool done = false;
  while( !done ) {
    done = (*doTask)();
  }
  life( nextTask );
}

The life of the Lemming. [1, 2]