Menu system refactored