Well that's a bit cleaner with everythign broken apart. Now to test.
And that is much cleaner. Needs some more work.