Made everything all nice and much more complicated than it could have been.

Everything is still all working, not much has been added, just a lot of re-arranging and making everything nice and robust.