I'm not fond of this class. It does not carry its own weight. I don't see different implementations arising, and it adds a bit of boilerplate (like getter-style implementations for `sourceViewer`). If we take out the initialize/dispose idiom, there's just `updateTextPresentation` we're left with. WDYT?