I'm not convinced this belongs here. It's not part of camera control. I think this should be implemented in the layer that actually makes use of it or at least as a standalone layer. Making the decision about what double tap does should be the responsibility of the application. The gestures handled here are all well known/understood.