Just handle extras the dumb way
Just add a single promise for crafting result
check isDone in checkProvider
re-add isAllDone, use the correct one