I was thinking exactly the same thing when I was putting this tool together... almost like QF but for the command line instead! ;) But I needed the tool asap and I thought that I'd just get it out there and it can always change later to use this 'CLI' class.
Maybe you could optionally use the ncurses features available in pecl[1].
I've used the Dialog[2] tool in the past for shell scripts, which is based on the ncurses library aswell. It'd be great to have those in PEAR one day.
Met vriendelijke groet,
Cipriano Groenendal
--
Transip BV | http://www.transip.nl/
Hoogwaardige Innovatie | Aangename Zekerheid
[1] http://pecl.php.net/package/ncurses
[2] http://invisible-island.net/dialog/dialog.html