Major Refactoring

Did a significant overhaul; most work is to separate the workload
between the objects.  Still needs more work to really optimize the
entire thing.