optimization: don't make call to  getMenus() block the UI