Just like System.Web.Abstractions, but for System.IO. Yay for testable IO access!