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.