Organization

Trying to work out a structure and organization of how the refactor will work. The actual implementation should probably be another PR. This is for experimentation

\cc @pixeltrix
Line is too long. [97/80]