Added interface IMenu and refactored some code. Menu views now implements the interface