Subsystem restructuring. Please avoid merging stuff which would conflict with this. This took days to update.

some recent merges were lost due to entire conflicting files. I did ask nicely.
I know they are, but this is much much faster.
That code gets called so often that any coder whom caused a runtime, would be hard-pressed not to notice.