Distill repeating code out.
Distill some code in UVFileAsync out.
Distill some code in UVDirectoryAsync out.
Distill code returning functions out in UVFileAsync.
Distill out common code in PipeExtensions.