Another menu question

I need some advise on menu/lcd/keypad menu architecture.

I have a class that handles the keypad with a callback onKeyUp function.
I have an lcd class that handles the lcd. The first method is awake().
I have other class that is the menu, with items subitems and action callbacks.

The question is: who should this work together?
Should I have other class like an orchestrator who knows which menu is current what key was pressed and pass the lcd the menu to print? Should it handle the string and pass the LCD the strings to print? Should the LCD knows about the menu and it state?
When the LCD is awaked I should present the date aand time.

Any help would be great.
I don’t need code but the architectural idea.


You start from the wrong side. Define Your project and then figure out what resources You need. Else You try to create a project keeping Your resources busy. That can end anyware.

the project is well defined here:

but this in particular, can be viewed as a subproject and reused for some other projects.
The main goal is to keep the main loop clean as much as possible.
At this point it has a bunch o MyEntity.update();

I feel more inspired to create a class, like LcdKeypadRgbManager, to keep track of some application status, ad act accordingly.