updates based on http://www.mistergoodcat.com/post/How-Ninject-inadvertently-made-the-case-for-SOLID
https://github.com/ninject/ninject/issues/132