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
Use 2 (not 0) spaces for indentation.