Cómo hacer que la devolución de llamada funcione con "esto" en el alcance de la clase [duplicado]

Esta pregunta ya tiene una respuesta aquí:

Callback este contexto [duplicado] 2 respuestas

Tengo una pregunta sobre el siguiente código para imprimir "this.text".

Necesito tener una función de contenedor para que funcione. Esto es demasiado problemático.

Existe una forma más simple (sin envoltorio adicional) para que funcione?

  function Class1() {
    this.text = "test";
  }

  Class1.prototype.show = function() {
    console.log(this);
    console.log(this.text);
  }

  var testClass = new Class1();

  function funWithCallBack(cb) {
    cb();
  }

  // it will show "undefined" because "this" scope changes to window
  funWithCallBack(testClass.show); 

  function wrapper() {
    testClass.show();
  }

  // this one will work but troublesome
  funWithCallBack(wrapper)