       # Stop the mousedown event
       false
 
-    handleElementClick: (e) =>
-      # Clicks should be cancelled if the last mousedown/mouseup interaction resulted in a drag
-      if @shouldCancelClick
-        # Cancel the click
-        e.stopImmediatePropagation()
-        false
+    handleDocumentMouseMove: (e) =>
+      # Trigger the start event, once
+      @handleDragStart(e) unless @dragStarted
+
+      # Trigger the drag event
+      @handleDrag(e)
 
     handleDocumentMouseUp: (e) =>
       # Stop listening for mouse events on the document

      # Clean up
      @cleanUp()

    handleDocumentMouseMove: (e) =>
      # Trigger the start event, once
      @handleDragStart(e) unless @dragStarted

      # Trigger the drag event
      @handleDrag(e)

    #
    # Draggable events

      # Mark the drag as having started
      @dragStarted = true

    handleDrag: (e) ->
      @scheduleDrag =>
        # Call any user-supplied drag callback
