index: maintain the `this` value for callbacks