Extras refactor

Here is my proposal on a restructure.  It will allow for easier testing.  I did introduce a test that did discover a few undefined items, so this can clean stuff up pretty quick.

I hate how github doesn't show the file renames instead of a diff.
I put it to 0 so it would aggravate the fact that it was not being set before the units were called.  I can put it back though.