 
       :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)))))
+        (put! (:data-loop-control @series-state)
+              (range-ending-at plot-end-time query-window)))
       
       :reagent-render
       (fn [ series-name plot-end-time query-window ]


      :component-did-mount
      (fn [ this ]
        (let [series-data-chan (chan)
              loop-control (subscribe-plot-data series-name series-data-chan) ]
          (swap! series-state assoc :data-loop-control loop-control)
          (go-loop []
            (when-let [ series-data (<! series-data-chan) ]
              (swap! series-state assoc :series-data series-data)
              (recur)))
          (put! loop-control (range-ending-at plot-end-time query-window))))
      
      :component-will-unmount

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

