Implementations are strongly encouraged to do *nothing* in this method other than provide bindings. Startup
should be handled in the constructors and/or providers bound in the returned bindings. Dependencies on other
modules or components should be expressed through constructor arguments.

The configuration and environment a provided for the purpose of producing dynamic bindings, for example, if what
gets bound depends on some configuration, this may be read to control that.