Giant refactor of refactorness

* Getting factories to begin generating more item types
* Found out I had duplicate interfaces. Consolidating
* Tests do not pass, injection broken