read() would be a killer feature for adoption. There's a ton of MOOs that make use of this in-verb, for menus or other things.
For example:
color = player:choose("Pick a color", {"Red", "Orange", ...});
For example:
color = player:choose("Pick a color", {"Red", "Orange", ...});
"read" def presents a problem for the transactional model. So like I said I have basically 3 choices: not implement it, or loosen the transactional constraints for verbs that require it. the latter would be something like: as a user I accept that this could blow up at commit and require me to enter the prompt again ("I'm sorry, something went wrong and I'll need you to enter that again."), or treat it like suspend() which actually creates a new transaction (commits and then creates a new one)