A big part of being SemVer compliant is being explicit about what is part of the public API and what is not.  Every class should have yard comments documenting that.  I would make this `@api private` since it's not intended to be instantiated directly by end users.