La implementación de la interfaz de forma anónima en Kotlin da como resultado el error "no tiene constructores"

Intento usar SurfaceView en Android para sostener una vista previa de la camera. La documentation me dice que necesito llamar a startPreview en la superficie. Callback devuelto para el titular de la superficie. Estoy tratando de establecer la callback como tal

this.surface!!.holder!!.addCallback(SurfaceHolder.Callback() { fun surfaceChanged(holder: SurfaceHolder, format: Int, width: Int, height: Int) { } fun surfaceCreated(holder: SurfaceHolder) { } fun surfaceDestroyed(holder: SurfaceHolder) { } }) 

Sin embargo, me sale el error:

SurfaceHolder.Callback no tiene constructores.

Estoy confundido por qué esto no funciona cuando algo como esto hace:

 Thread(Runnable() { fun run() { ... } })