I find it interesting that there is more functionality in communicating the order of a menu item to a waiter at a restaurant than asking a given web application to do something. For example, how about the cost of minor change? With a waiter you ask to have your meal prepared a certain way and perhaps you want to add something that you “think” they might have. It would seem like you’re “searching” for options. Though you give your preconditions and options and then send the waiter off to collect the results and execute on them, never to be seen until your drinks arrive and the result is given. Kind of reminds me of model-view-controller. What I’m really amazed by is the transaction time for such a complex request. It’s verbal, it’s customized, it’s set with search conditions and execute conditions. Quite amazing given it could take about less than 2 minutes to complete with minor physical exertion by either party.