code: function require_define(moduleId, prereqs, factory) {
      var rem = ["require", "exports", "module"]
  
      if (typeof moduleId != "string") {
          console.log("modjewel.define(): first parameter must be a string; was: " + moduleId)
          return
      }
  
      if (arguments.length == 2) {
          factory = prereqs
          prereqs = null
      }
  
      if (!prereqs || prereqs.length == 0) {
          prereqs = rem
      }
  
      if (typeof factory != "function") {
          if (factory) {
              ModulePreloadStore[moduleId] = [factory, prereqs]
              return
          }
  
          console.log("modjewel.define(): factory was falsy: " + factory)
          return
      }
  
      if (moduleId.match(/^\./)) {
          console.log("modjewel.define(): moduleId must not start with '.': '" + moduleName + "'")
          return
      }
  
      if (hop(ModulePreloadStore, moduleId)) {
          console.log("modjewel.define(): module '" + moduleId + "' has already been defined")
          return
      }
  
      ModulePreloadStore[moduleId] = [factory, prereqs]
  }
docs: ---------------------------------------------------------------------------- used by pre-built modules that can be included via <script src=> a simplification of http://wiki.commonjs.org/wiki/Modules/AsynchronousDefinition where id is required ----------------------------------------------------------------------------