 
 (defrecord ClojureScriptReloadable [opts sources top-level-pkgs]
   IGroupable
-  (group-id [_ request] [::cljs (:uri request)])
+  (group-id [_ request] [::cljs (map #(group-id % request) sources) (:uri request)])
   IReloadable
   (reload [this request]
+    (log "ClojureScriptReloadable :: " sources)
     (let [build-opts (cljs-compilation-options opts request)]
       (doseq [pkg top-level-pkgs]
         (doseq [file (files-in-dir (jstr opts "/out/" pkg))]

  (:use [cljs.closure :only (build -compile Compilable)]
        [cljs.compiler :only (to-target-file)])
  (:require [clojure.java.io :as io]))

;; Reloading Protocols
;; ===================


(defrecord Watch [source]
  IGroupable
  (group-id [_ request] [::dir (group-id source request) (:uri request)])
  IReloadable
  (reload [_ request]
    (log "Watch :: " source)
    nil)
  ISources
  (files [_] (files source)))

