Changed menu to observer pattern