   #
   # bundle - The bundle name to use when retrieving modules. (optional)
   #
-  # Examples
-  #
-  #   Bijous = require 'bijous'
-  #   # Require all modules
-  #   bijous = new Bijous
-  #     bundles:
-  #       public: 'modules/public/*'
-  #       private: 'modules/private/*'
-  #
-  #   allBundles = bijous.require()
-  #   onlyPublicBundles = bijous.require 'public'
+  # ```coffee
+  # Bijous = require 'bijous'
+  #
+  # # Require all modules
+  # bijous = new Bijous
+  #   bundles:
+  #     public: 'modules/public/*'
+  #     private: 'modules/private/*'
+  #
+  # allBundles = bijous.require()
+  # onlyPublicBundles = bijous.require 'public'
+  # ```
   #
   # Returns the modules exported by calling `require` on each of the bundle
   #   files; each module object contains a module's `name`, the corresponding

  # bear it's name are not namespaced when received from the `load` callback.
  # (default: `_`)
  #
  # Examples
  #
  #   Bijous = require 'bijous'
  #   bijous = new Bijous
  #     bundles: 'modules/!(router)'
  #   bijous.load (err, modules) ->
  #     # Since our bundle does not have a name the default bundle name is used
  #     # and it's results are not namespaced
  #     console.log modules.module1
  @defaultBundleName: '_'

  # Public: Instantiates a new bijous loader.

# occurred, and can optionally return an object that represents the result of
# the module.
#
# ```coffee
# # We can assume that the following four lines describes the module being
# # loaded and resides in a file called *modules/mobule1.coffee*
# exports = module.exports = (context, modules, done) ->
#   # do something ...
#   done null,
#     app: express()
# ```
#
# ## Module Loading
#
# ```coffee
# # We can assume the rest of the code below lives in a separate file that
# # has access to the module specified above
# Bijous = require 'bijous'
#
# # Loads all modules
# bijous = new Bijous
#
# bijous.load (err, modules) ->
#   # Access the results of module1
#   console.log modules.module1
#
# # Overrides the cwd option and loads all modules relative to it
# bijous = new Bijous
#   cwd: '~/modules'
#
# bijous.load (err, modules) ->
#   # Access the results of module1
#   console.log modules.module1
#
# # Overrides the bundles option and loads all modules accordingly
# bijous = new Bijous
#   bundles: 'modules/!(router)'
#
# bijous.load (modules) ->
#   # Access the results of module1
#   console.log modules.module1
#
# # Overrides the bundles option with multi bundles and loads all modules
# # one bundle's modules accordingly
# bijous = new Bijous
#   bundles:
#     server: 'modules/!(router)'
#     web: ['webModules/*', 'adminModules/*']
#
# bijous.load (err, modules) ->
#   # Access the results of module1, notice it is namespaced by the bundle
#   # name
#   console.log modules.server.module1
#   console.log modules.web.module2
# ```
class Bijous extends EventEmitter
  # Public: The default bundle configuration for klect. This configuration
  # describes how all modules are to be found. (default: `modules/*`).
