Restaurant caching
All menu information should be cached in the local database. When we receive the list of Restaurant Summaries each summary contains menu version hosted on server. If menu version hosted on the server is greater than menu version stored locally - we should retrieve menu from the server to update the local one.
As soon as new version of the menu is discovered old menu should be deleted locally. That will guarantee that user will not be able to order from the old menu while the new one is still downloading.