EnvironmentBasedScope

Creates an injection scope based on the given environment. If the given environment supports meta-environments (i.e. if it is extensible), an ExtensibleEnvironmentBasedScope will be returned. Otherwise, a SimpleEnvironmentBasedScope is used.

This should be used in almost all cases - the ability to control the inject call mechanism is mostly useful for dependencies analysis.