Create new generic View classes
Create new toplevel View service
WIP: TEMP: add refactoring notes

These notes temporarily document the purpose of this branch.
WIP: some overengineered crap