Extract menu logic into Menu class