I was just wondering how to use these virtual delay functions in say a BLE callback or other such function, that's not inside the loop()?
None of these functions depend on being called inside the loop() routine but usually it's the way to do it. Doing the same stuff directly in a callback usually makes no sense as these aren't run often enough in most cases. But to use the linked library as an example, you can call the reset() method in the callback but do the delayed action in the loop().