PromiseBuilder should be extern if not inside macro.