       false
 
     handleElementClick: (e) =>
-      # Clicks should be passed through if this interaction didn't result in a drag
-      shouldPermitClick = not @dragStarted
-
-      # Clean up
-      @dragStarted = false
-      @$helper = null
-      @helperStartPosition = {}
-      @elementStartDocumentOffset = {}
-      @helperStartDocumentOffset = {}
-      delete @mousedownEvent
-
-      unless shouldPermitClick
+      # Clicks should be cancelled if the last mousedown/mouseup interaction resulted in a drag
+      if @shouldCancelClick
         # Cancel the click
         e.stopImmediatePropagation()
         false

      $(document).off
        mousemove: @handleMouseMove
        mouseup: @handleMouseUp

      return unless @dragStarted



      # Trigger the stop event
      @handleDragStop(e)

      # Clean up
      @cleanUp()

    handleDocumentMouseMove: (e) =>
      # Trigger the start event, once
