     (if (not= (:column-id drag-data) drop-data)
       (a/move-note connection (:note drag-data) (:column-id drag-data) drop-data))))
 
-(defn draggable [{:keys [connection comp-fn state drag-data droppable-nodes] :as data} owner opts]
+(defn draggable [{:keys [drop-fn comp-fn state drag-data droppable-nodes] :as data} owner opts]
   (reify
     om/IInitState
     (init-state [_]
       {:hor-value 0
        :ver-value 0
-       :dragger (free-drag owner (partial perform-drop connection drag-data) droppable-nodes)})
+       :dragger (free-drag owner (partial drop-fn drag-data) droppable-nodes)})
     om/IWillMount
     (will-mount [_])
     om/IDidMount

                                                       :droppable-nodes (:droppable-nodes app)
                                                       :state {:connection connection
                                                               :column col
                                                               :droppable-nodes (:droppable-nodes app)}}
                                                      {:opts {:drop-data [:column (first col)]}}))
                                          (sort-by first columns)))))
                   (dom/div nil
                            (create-board-button "Empty Board")

                                 {}))}
                 (om/build comp-fn state {:opts opts}))))))

(defn droppable [{:keys [droppable-nodes comp-fn state drop-data]} owner {:keys [] :as opts}]
  (reify
    om/IDidMount
    (did-mount [_]
