Updated tool to match UML design docs

No actual nuts'n'bolts programming's been coded, just changed everything
to use the various interfaces.