Finally got something that will at least build.  Code is VERY sloppy right now; will work on cleaning it up tomorrow.  At least things are looking more abstracted than before.