@aimeast If you feel that `ContentAsText` should be dropped, I'd rather discuss this option outside of the scope of this PR. Maybe could you open a dedicated issue regarding this topic?

Once `ContentToByteArray()` is dropped and the stream are properly disposed in the tests, in order to expose a clean commit history, could you please move *"Add override for Touch"* as the first commit, and squash all the other ones into another commit on top it?

Thanks for the time you've spent working on this PR. I'm eager to see it merged!