Passing I/O functions to a class.

Yes, only problem that I have tried too many approaches and they have all grown beyond 'minimal',
and need cleaning up (too much #ifdef magic and debugging code inside).

I have the code in git, so could start from any one of some quite different trial implementations.
But I'm not decided on what version to base discussion on.
That's why I ask for the right c++ approach first :wink:

Did I get that right, you suggest that I'd pass a reference to (let's say) Serial I/O functions from the sketch to the Menu constructor or some Menu.init() function? I would call Serial.init() from setup(), right?

Or did you mean to pass a reference to a class (let's say Serial)? I have never heard of pointers/references to a class before, btw.