Overview:   Composite pattern
Description:Refactor the menu and other class with composite pattern.