           cancelEvent(e)
 
         dragStop = ->
-          if not dragging or disposed then return true
+          if not dragging then return true
           hx.select(document).off 'pointermove', 'hx.color-picker', dragGo
           hx.select(document).off 'pointerup', 'hx.color-picker', dragStopHook
           cursorStartPos = elementStartPos = null;
           if endCallback isnt null then endCallback(elem)
           dragging = false
 
-        dispose = ->
-          if disposed then return
-          @StopListening(true)
-          elem = parent = min = max = startCallback = moveCallback = endCallback = null
-          disposed = true
-
         StartListening = ->
-          if listening or disposed then return
+          if listening then return
           listening = true
           parent.on 'pointerdown', 'hx.color-picker', dragStart
 
         StopListening = ->
-          if not listening or disposed then return
+          if not listening then return
           parent.off 'pointerdown', 'hx.color-picker', dragStart
           if stopCurrentDragging and dragging then dragStop()
 


        dragGo = (e) ->
          e = e.event
          if !dragging or disposed then return
          newPos = absoluteCursorPosition(e)
          newPos = newPos.add(elementStartPos).subtract(cursorStartPos)
          newPos = newPos.bound(min, max)

        circleMoved(pos)

      dragObject = (elem, parent, min, max, startCallback, moveCallback, endCallback) ->
        cursorStartPos = elementStartPos = dragging = listening =  null

        if min isnt null and max isnt null
          temp = min.min(max)
