Dependency injection

Huge, this officially marks the end for adding new features for 1.0 windmill, from now on is all about UI, bugs and minor things I still need to implement like permissions :P