_onPointerMotionEvent(e) {
    this._normalizePointerEvent(e)
    const eventState = this._getPointerEventState(e)

    if (pointerMotionEventTypes.some(this.eventRegistry.hasAnyListenersOfType)) {
      const hoverInfo = (e.type === 'mouseout' || isTouchEndOrCancel(e)) ? null : this._findHoverTarget(e)
      let lastHovered = eventState.hoveredFacade
      let hovered = eventState.hoveredFacade = hoverInfo && hoverInfo.facade

      let dragInfo = eventState.dragInfo
      if (dragInfo) {
        if (!dragInfo.dragStartFired) {
          this._firePointerEvent('dragstart', dragInfo.dragStartEvent, dragInfo.draggedFacade, null, hoverInfo)
          dragInfo.dragStartFired = true
        }
        this._firePointerEvent('drag', e, dragInfo.draggedFacade, null, hoverInfo)
      }

      if (hovered !== lastHovered) {
        if (lastHovered) {
          this._firePointerEvent('mouseout', e, lastHovered, hovered, hoverInfo)
          if (dragInfo) {
            this._firePointerEvent('dragleave', e, lastHovered, hovered, hoverInfo)
          }
        }
        if (hovered) {
          this._firePointerEvent('mouseover', e, hovered, lastHovered, hoverInfo)
          if (dragInfo) {
            this._firePointerEvent('dragenter', e, hovered, lastHovered, hoverInfo)
          }
        }
      }
      if (hovered) {
        this._firePointerEvent('mousemove', e, hovered, null, hoverInfo)
        if (dragInfo) {
          this._firePointerEvent('dragover', e, hovered, null, hoverInfo)
        }
      }
    }

    // Cancel tap gesture if moving past threshold
    let tapInfo = eventState.tapInfo
    if (tapInfo && e.type === 'touchmove') {
      let touch = e.changedTouches[0]
      if (touch && Math.sqrt(Math.pow(touch.clientX - tapInfo.x, 2) + Math.pow(touch.clientY - tapInfo.y, 2)) > TAP_DISTANCE_THRESHOLD) {
        eventState.tapInfo = null
      }
    }
  }
Entry point for handling events related to pointer motion (e.g. mouse or touch movement).
This will be called by the code that wraps this World facade to bridge native DOM events
into the Troika world.
@param {Event} e