WIP on a minor redesign. I apparently need to rewrite the way I handle
VMs. I'll switch over to inheritance (the polymorphism happens rather
high-level, so will hopefully not eat lots of performance.) from
templates.