Just a couple of pennies: It would be swell, at least in my opinion, to ensure that the model used for the UI was such that the layer immediately under it could be easily adapted to other UIs, like a text-mode UI, a voice UI or a GUI based on a different principle than the one finally settled upon.