testUserInitiatedExecOnLoadEventuallyLeavesManagerIdle() {
    const mm = getModuleManager({'c': [], 'd': []});
    mm.setLoader(createSuccessfulNonBatchLoader(mm));

    let calledBack1 = false;
    let calledBack2 = false;

    mm.execOnLoad('c', () => {
      calledBack1 = true;
    }, undefined, undefined, true);
    mm.execOnLoad('c', () => {
      calledBack2 = true;
    }, undefined, undefined, true);
    mm.load('c');

    assertTrue(
        'Manager should be active while waiting for load', mm.isUserActive());

    clock.tick(5);

    assertTrue('First callback should be called', calledBack1);
    assertTrue('Second callback should be called', calledBack2);
    assertFalse(
        'Manager should be inactive after loading is complete',
        mm.isUserActive());
  }
Tests that multiple callbacks on the same module don't cause
confusion about the active state after the module is finally loaded.