I didn't write those classes, Hai did, but I believe he was running with the design used for ContextWasapi, where
you can see how I was able to push a bunch of heavy windows headers to the cpp by using a pimpl. There are cases where you would #include a platform-specific Context implementation header, for example on Mac when you are using audio unit functionality, so it's nice that those headers are lean. In general for platform specific implementation code, I like this pattern.