These classes are not designed to be publicly instantiated