quick note, early return can be a bit nicer here

    if (completeCalled) { 
      return;
    }