Wrap Azure SDK in more testable interfaces and wrappers. Fix async issues on fetching