constructor(
    /*function*/ onMove,
    /*function*/ onMoveEnd,
    /*DOMElement*/ domNode) {
    this._isDragging = false;
    this._animationFrameID = null;
    this._domNode = domNode;
    this._onMove = onMove;
    this._onMoveEnd = onMoveEnd;
    this._onMouseMove = this._onMouseMove.bind(this);
    this._onMouseUp = this._onMouseUp.bind(this);
    this._didMouseMove = this._didMouseMove.bind(this);
  }
onMove is the callback that will be called on every mouse move.
onMoveEnd is called on mouse up when movement has ended.