This TaskQueue2 uses promises. Browse the file for examples how it's used. I plan to just replace TaskQueue with TaskQueue2.