Instead of using goog.partial, which calls `slice`, `unshift` and `apply` and messes up with `arguments`, I'd keep the `handleIn_` and `handleOut_` functions and have them call `zoomByDelta_`, passing it either `this.delta_` or `-this.delta_`. Another option is to pass `zoomByDelta_` either `1` or `-1` and do `this.delta_ * sign` in `zoomByDelta_`. I know that, in any way, this requires to store the delta value on the instance again, but I think that's ok.