     @props.annotation.value.y = Math.min _start.y, y
     @props.annotation.value.width = Math.abs _start.x - x
     @props.annotation.value.height = Math.abs _start.y - y
-    @props.classification.update 'annotation'
+    @props.onChange @props.annotation
 
   handleBoxDrag: (e, d) ->
     difference = @props.normalizeDifference(e, d)

    diff = _start.mouse[coord] - mouse[coord]
    @props.annotation.value[coord] = Math.min _start.rect[coord], mouse[coord]
    @props.annotation.value[dimension] = Math.abs _start.rect[dimension] - diff
    @props.classification.update 'annotation'

    maxY = (@props.containerRect.height / @props.scale.vertical) - @props.annotation.value.height
    @props.annotation.value.x = Math.max 0, Math.min maxX, @props.annotation.value.x += difference.x
    @props.annotation.value.y = Math.max 0, Math.min maxY, @props.annotation.value.y += difference.y
    @props.onChange @props.annotation

  handleStartHandle: (e) ->
    mouse = @props.getEventOffset e
