The Great Refactor

Refactored using Artemis. Hopefully this makes things smoother but sure
did set a lot of things back.