array issue is just a small portion of this project.
If you could make a Menu object that includes Menu objects then they would include menu objects that would include other Menu objects, etc till memory runs out.
Just to knock some of the rust off, you should make a number of the examples work even if the code seems familiar. if you remember coding then you know that close won't cut it.
In your IDE under File is Examples. Do and learn/relearn at least the following:
File->Examples->05. Control-> go through all of these to tighten yourself back up
Forget plain old Blink, it teaches the bad habit of using delay().
The rest, do what interests you or you have questions about. Some need extra hardware.
Everything that uses C++ String objects, convert to C char array strings.
If you never knew C strings (lower case s) then find a string.h tutorial on the web, if you lock yourself into using String objects then you won't get as much help when they start crashing your sketches. UNO has only 2k RAM, Leo 2.5k. String objects waste and shotgun your heap in RAM.
Here are the standard C libraries docs for AVR GCC that Arduino uses, including string.h: