`Proxy` seems like a bad name, there's a lot of logic in this class. It does not simply proxy calls from one part to the other. Shouldn't this be called `ScalaTextPresentationHighlighter`, or something like that? I'd lose the `Proxy` name from for all our `proxies` if they don't really act like proxies.