Hi there, never save to EEPROM in the callback function of anything other than an action item, specifically marked as Save. If a rotary encoder is attached, it will destroy your EEPROM in a matter of days. IE every single turn of the encoder during editing will result in a save to your ROM, it will slow down your sketch and use up the 100,000 EEPROM write attempts very quickly. If you are using FLASH as EEPROM which is sounds like you are it will break the board very quickly.
Instead:
Option 1: Provide an explicit option on the menu to save settings, call the save function there, IE a Save ALL option.
Option 2: Follow the example to detect power loss and write out to ROM that's documented here:
https://www.thecoderscorner.com/electronics/microcontrollers/psu-control/detecting-power-loss-in-powersupply/
Option 3: Some have started a timer that checks for changes and writes out to ROM only if there have been any changes every few minutes. This would also work pretty well, but you'd potentially still be saving to ROM quite frequently, but maybe no longer dangerously so. You could use taskManager to schedule a fixed rate task for this, and save if a change has been recorded.
Loading back at start up:
Yes, in terms of loading things back, you can just load back from EEPROM during setup.