Code cleanup, edited tests, and updated benchmarks

the injector that's passed in should not have this module's bindings, and would create a new instance when i.get() is called using typeFactories. either way, this is what was in the old code and has been changed.