Make it handle nested async operations.