private void HandleMouseMove(MouseEventArgs e)
 {
     var curve = HitTestCurves(MousePosition);
     if (_currentMouseMoveCurve == null && curve == null)
         return;
     if (_currentMouseMoveCurve == null)
     {
         _currentMouseMoveCurve = curve;
         curve.OnMouseEnter(e);
         return;
     }
     if (curve == null)
     {
         _currentMouseMoveCurve.OnMouseLeave(e);
         _currentMouseMoveCurve = curve;
         return;
     }
     if (_currentMouseMoveCurve != curve)
     {
         _currentMouseMoveCurve.OnMouseLeave(e);
         _currentMouseMoveCurve = curve;
         _currentMouseMoveCurve.OnMouseEnter(e);
         return;
     }
     _currentMouseMoveCurve.OnMouseMove(e);
 }