     diff = _start.mouse[coord] - mouse[coord]
     @props.annotation.value[coord] = Math.min _start.mouse[coord] + _start.rect[dimension], mouse[coord]
     @props.annotation.value[dimension] = Math.abs _start.rect[dimension] + diff
-    @props.classification.update 'annotation'
+    @props.onChange @props.annotation
 
   handleDragFar: (coord, e) ->
     dimension = {x: 'width', y: 'height'}[coord]

    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.classification.update 'annotations'

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

    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.onChange @props.annotation
