What I'm trying to do is something like the OpenStep specification; I
delineate the foundation classes from the interface classes; for those
unfamiliar with NeXT, GNUStep, or OS X, think of the difference between Glib
and Gtk; for KDE buffs, Qt has a similar approach. I will write the foundation
classes as needed; my schedule is busy and all, but I make sure I get in a few
hours coding time every day. Here's our roadmap as it stands now:

What Has Been Done:
VASM::Text::Tree
VASM::Text::Table (most of it anyway; needs testing)

What Now Needs To Be Done:
VASM::Text::Tree::VID (VASM interface definition)

What Comes Immediately After:
VASM::UI::Navigator
VASM::UI::Dialog
...each of which will have subclasses for Gtk2 and cdialog

(These will rely on the XML processing offered by the VID subclass)

As of now, the only foundation classes I really need are for text processing,
which I see as absolutely essential (one of the reasons I picked Perl).

Once we have a good base to work on, it will be like breaking the individual
sticks of a fasces on our knees: whoever has expertise in a given area can
write modules for it using a common interface and utilities. The 'VID' XML
format will be piss easy for i18n, and will completely abstract away the
difference between Gtk2 and cdialog
