   (remove-pages! [_ state page-ids]))
 
 (defprotocol ColumnDropTarget
-  (accepts-drop? [_ state])     ;can't get data in drag-over
   (accept-drop!  [_ state pages]))
 
 (defrecord InboxColumnSource [id]

        (js/console.error (str "[DocumentColumnSource] Failed to get document " document-id)
                          {:document-id document-id}))))
  ColumnDropTarget
  (accepts-drop? [_ state]
    true)
  (accept-drop! [_ state new-pages]
    (go
      (println "dropping" (pr-str new-pages) "on document" document-id)
      (let [document (om/value (get-in state [:documents document-id]))]
        (<! (api/update-document! (update document :pages
                                          #(into % new-pages))))
        (println "Saved!"))))
  om/IWillMount
  (will-mount [_]
    (assert (number? document-id))

                     :fn (partial mark-page-selected (:selected selection))})]]))

(defn ^:private inbox-handle-drop! [state owner page-cache target source page-ids]
  (let [columns (om/get-state owner :columns)
        target (get columns target)
        source (get columns source)
