I'd love comments explaining the flow here.  user pinch in the view triggers a pinchChange event which calls camera.setZoom, which triggers a zoomChange event which adjusts the zoom level in the view.  This is a pretty tricky bit of the zoom implementation and comments would be good.

Why do you need to call setZoom() onZoomChange?  Will the camera ever change the zoom level without the viewfinder knowing?  Ah. I bet you do this when switch front/rear and photo/video!