_initializeGestureState(gestureState: GestureState) {
    gestureState.x = 0;
    gestureState.y = 0;
    gestureState.initialX = 0;
    gestureState.initialY = 0;
    gestureState.deltaX = 0;
    gestureState.deltaY = 0;
    gestureState.velocityX = 0;
    gestureState.velocityY = 0;
    gestureState.numberActiveTouches = 0;
    // All `gestureState` accounts for timeStamps up until:
    gestureState._accountsForMovesUpTo = 0;
  }
PAN RESPONDER

`PanResponder` uses the Responder System to reconcile several touches into
a single gesture. It makes single-touch gestures resilient to extra touches,
and can be used to recognize simple multi-touch gestures. For each handler,
it provides a `gestureState` object alongside the ResponderEvent object.

By default, `PanResponder` holds an `InteractionManager` handle to block
long-running JS events from interrupting active gestures.

A graphical explanation of the touch data flow:

+----------------------------+             +--------------------------------+
| ResponderTouchHistoryStore |             |TouchHistoryMath                |
+----------------------------+             +----------+---------------------+
|Global store of touchHistory|             |Allocation-less math util       |
|including activeness, start |             |on touch history (centroids     |
|position, prev/cur position.|             |and multitouch movement etc)    |
|                            |             |                                |
+----^-----------------------+             +----^---------------------------+
     |                                          |
     | (records relevant history                |
     |  of touches relevant for                 |
     |  implementing higher level               |
     |  gestures)                               |
     |                                          |
+----+-----------------------+             +----|---------------------------+
| ResponderEventPlugin       |             |    |   Your App/Component      |
+----------------------------+             +----|---------------------------+
|Negotiates which view gets  | Low level   |    |             High level    |
|onResponderMove events.     | events w/   |  +-+-------+     events w/     |
|Also records history into   | touchHistory|  |   Pan   |     multitouch +  |
|ResponderTouchHistoryStore. +---------------->Responder+-----> accumulative|
+----------------------------+ attached to |  |         |     distance and  |
                                each event |  +---------+     velocity.     |
                                           |                                |
                                           |                                |
                                           +--------------------------------+