Fix IoC

Finally think I've cracked most of the nasty IoC. Will hopefully form the basis for further refactoring.

Fixes #85 

![winning](http://img3.wikia.nocookie.net/__cb20110316183954/uncyclopedia/images/3/3e/LeeWall_Destroy.gif)