Work in progress re-architecture

This is to provide a nice diff comparison but is not ready to merge yet.