base reader supporting custom GMainContext