   #   console.log modules.bundle1.module1
   # ```
   #
-  # Returns nothing
+  # Returns `undefined`
+  # Emits error if an error has occurred while loading any module. The first
+  #   argument will be the {Error} that has occurred
+  # Emits done when loading of modules has completed and no error has occurred.
+  #   The first argument will be an {Object} containing the results of all
+  #   loaded modules. The `done` event could be subscribed to by the loaded
+  #   module in order to execute a task once all modules are loaded. An example
+  #   would be if a *server* module wanted to listen for connections once all
+  #   modules were loaded.
   load: (bundle, callback) ->
     [callback, bundle] = [bundle, null] if 'function' == typeof bundle
     results = {}

{EventEmitter} = require 'events'
Klect = require 'klect'

# Internal: Gets a module's name based off of it's path.
#
# file - The path of the file as {String}
#
# ```coffee
# getModuleName('/modules/module1.js')

# in much the same ways. What bijous adds is the ability to `load` and `require`
# modules conforming to [node.js](http://nodejs.org/api/modules.html). Modules
# used in this way must conform to bijous' module interface which is described
# as a node module exporting a singular function with three arguments. The
# first argument will be the {Bijous} instance loading the module, the second
# argument will be an {Object} containing the results from previously loaded
# modules, and the third argument will be a {Function} callback that alerts the
# bijous instance when the module has completed loading. The callback function
# has two arguments, the first argument will be an {Error} if one has occurred,
# the second argument will be an optional {Object} containing pertinent results
# from loading the module.
#
# ```coffee
# # We can assume that the following four lines describes the module being
