           (callback  (clj->js info-to-send)))))))
 
 (defn track-complete [room callback]
-  (.set redis-client (str "room:" room ":started?") "false"
+  (.set redis-client (redis-room-prefix room "started?") "false"
     (fn [err reply]
       (callback))))
 
 (defn start-looping [room callback]
-  (.set redis-client (str "room:" room ":looping?") "true"
+  (.set redis-client (redis-room-prefix room "looping?") "true"
     (fn [err reply]
       (callback))))
 
 (defn stop-looping [room callback]
-  (.set redis-client (str "room:" room ":looping?") "false"
+  (.set redis-client (redis-room-prefix room "looping?") "false"
     (fn [err reply]
       (callback))))
 
 (defn is-looping? [room callback]
-  (.get redis-client (str "room:" room ":looping?")
+  (.get redis-client (redis-room-prefix room "looping?")
     (fn [err reply]
       (if (= reply "true")
         (callback true)

          (callback (js->clj reply)))))))

(defn clear-songs [room-id callback]
  (.del redis-client (str "room:" room-id ":music-info")
    (fn [err reply]
      (.del redis-client (str "room:" room-id ":music-files")
        (fn [err reply]
          (.del redis-client  (str "room:" room-id ":track-order")
            (fn [err reply]
              (.del redis-client (str "room:" room-id ":current-track")
                (fn [err reply]
                  (.del redis-client (str "room:" room-id ":current-sound")
                    (.del redis-client (str "room:" room-id ":sync-start")
                      (fn [err reply]
                        (.set redis-client (str "room:" room-id ":playing?") "false"
                          (fn [err reply]
                            (.set redis-client (str "room:" room-id ":started?") "false"
                              (fn [err reply]
                                (callback)))))))))))))))))


(defn change-current-track-position [room position callback]
  (letfn [(change-pos []
            (let [writer (transit/writer :json)]
              (.set redis-client (redis-room-prefix room "track-position")
                                 (transit/write writer {:position position
                                                        :start-time (.now js/Date)})
                (fn []
