                   (merge-series-data data (<! (<<< server/fetch-series-data series-name update-query-range)))
                   data))]
           (when updated-data
-            (put! series-data-chan updated-data))
+            (update-fn updated-data))
           (recur updated-data))))
     control-channel))
 


      :component-will-update
      (fn [ this [ _ _ plot-end-time query-window ]]
        (when-let [loop-control (:data-loop-control @series-state)]
          (let [updated-query-window (range-ending-at plot-end-time query-window)]
            (when (not (= updated-query-window
                          (:last-query-window @series-state)))
              (put! loop-control updated-query-window)
              (swap! series-state assoc :last-query-window updated-query-window)))))
      
      :reagent-render
      (fn [ series-name plot-end-time query-window ]

                   (.-MIN_VALUE js/Number))
               (:end-t new-data))})

(defn subscribe-plot-data [ series-name update-fn ]
  (let [control-channel (chan 1 (dedupe))]
    (go-loop [ current-data nil ]
      (when-let [ desired-data-range (<! control-channel) ]
        (let [ updated-data
