     name: name || getGUID()
     unresolvedDeps: createSet().addAll(dependencies)
     definedAsEager: !name?
-    eager: false
     resolver: once(asyncify(callback))
     status: 'waiting'
+
+  isEager = (module) ->
+    module.status != 'waiting'
 
   raiseErrorForUndefinedDependencies = (module) ->
     undefinedDeps = undefinedDependencies(module)

    module.unresolvedDeps.isEmpty()

  attemptResolve = (module) ->
    if module.eager && areAllDepsResolved(module)
      resolveModule(module)

  getResolvedDependencies = (module) ->


  shouldModuleBeEager = (module) ->
    thisShouldBeEager = module.definedAsEager
    anyChildIsEager = moduleGraph.anyChild(module.name, ((childName, childData) -> isEager(childData)))
    thisShouldBeEager || anyChildIsEager

  setModuleAndAncestorsToEager = (moduleName) ->
    node = moduleGraph.getNodeData(moduleName)
    return if !node? || isEager(node)
    setModuleToEager(node)
    moduleGraph.getParents(moduleName).forEach(setModuleAndAncestorsToEager)

  setModuleToEager = (module) ->
    module.status = 'ready'
    attemptResolve(module)

