I think it can safely be used for your own classes. The constructor and destructor do the job automatically, so you just have to call EnsureGlContext() before doing OpenGL calls.
It's marked "for internal use only" because it was written for my own needs, and was not supposed to be used publicly. But if you find it useful, you can use it.