move the completion context call into the requestor