code: func loadModules() {
  	keys := []string{}
  	for _, key := range Config.Options("module.") {
  		keys = append(keys, key)
  	}
  
  	// Reorder module order by key name, a poor mans sort but at least it is consistent
  	sort.Strings(keys)
  	for _, key := range keys {
  		moduleLog.Debug("Sorted keys", "keys", key)
  
  	}
  	for _, key := range keys {
  		moduleImportPath := Config.StringDefault(key, "")
  		if moduleImportPath == "" {
  			continue
  		}
  
  		modulePath, err := ResolveImportPath(moduleImportPath)
  		if err != nil {
  			moduleLog.Error("Failed to load module.  Import of path failed", "modulePath", moduleImportPath, "error", err)
  		}
  		// Drop anything between module.???.<name of module>
  		subKey := key[len("module."):]
  		if index := strings.Index(subKey, "."); index > -1 {
  			subKey = subKey[index+1:]
  		}
  		addModule(subKey, moduleImportPath, modulePath)
  	}
  
  	// Modules loaded, now show module path
  	for key, callback := range appModule.initializedModules {
  		if m := ModuleFromPath(key, false); m != nil {
  			callback(m)
  		} else {
  			RevelLog.Error("Callback for non registered module initializing with application module", "modulePath", key)
  			callback(appModule)
  		}
  	}
  }
docs: // Loads the modules specified in the config