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 the new Ruby 1.9 hash syntax.