The ``QueryClass`` can also live in a separate module, maybe ``astroquery/query.py``. It would also be good to make it an abstract base class (see ``astropy/nddata/nduncertainty.py`` for en example of how to do this) - it allows you to define a base class and base API that then has to be overridden to be functional (though you can define non-abstract methods that actually work). As more modules get refactored, you might find some common functionality that can be moved to ``QueryClass``.

One minor comment, I think this should be ``BaseQuery`` instead of ``QueryClass``.