Refactored source to use Architect plugin system. Still a lot more work to do...