feat(injector): implement a different approach to injector scopes

An easy way to review this is to read the tests and see if that's what we want
I'm not sure I fully understand this "5" ;-)