Extract common helpers
Fixed private handle() method
Label
Basic impl for navigate() using promise-like thenables
Fixed thenables
Recursive retry()
Discard retry()