@nulltoken 
> 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?

I never want to drop `ContentAsText` because it is very useful. I just illustrate both `ContentAsText` and `ContentToByteArray` are very important.

> 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?

Sorry, I am not clear what you want. Put simply now, I just want rename `ContentStream` to `GetContentStream` and then make `Content` as extension method in this PR.