Sweeping updates!

Streamlined somethings, broke things out into different modules to make
the main less noisy.

Began to make the mainLoop a bit more sensible and easier to deal with
so I can start to tack things on with a little less pain and let it grow.