       (callback))))
 
 (defn set-current-track-position [room position callback]
-  (let [writer (transit/writer :json)
+  (let [writer (transit/writer :json-verbose)
         track-position-info {:position position
                              :start-time (.now js/Date)}]
   (.set redis-client (redis-room-prefix room "track-position")


(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)})

            (callback)))))))

(defn resume-current-track [room callback]
  (let [reader (transit/reader :json-verbose)]
    (.get redis-client (redis-room-prefix room "track-position")
      (fn [err reply]
        (let [old-track-position-info (transit/read reader reply)
              new-track-position-info (merge old-track-position-info {:start-time (.now js/Date)})
              writer (transit/writer :json-verbose)]
          (.set redis-client (redis-room-prefix room "track-position")
                             (transit/write writer new-track-position-info)
            (fn []
