     (do (msg-put actx :server-state-ch (merge m lane-state))
         [lane-state nil])))
 
+(def initial-lane-state
+  {:cur-realm "_lobby"
+   :cur-realm-collset "default"
+   :cur-realm-collset-coll "default"
+   :cur-user-realm "_lobby"
+   :cur-user "_anon"})
+
+(defn lane-state-loop [actx server-state-ch]
+  (let [req-ch (achan actx)]
+    (act lane-state-loop-init actx
+         (let [coll (areq lane-state-loop-init server-state-ch
+                          (assoc initial-lane-state :op :coll-get))]
+           (state-loop actx :lane-state lane-handler
+                       (assoc initial-lane-state :cur-coll (:value coll))
+                       :req-ch req-ch)))
+    req-ch))
+
 ; --------------------------------------------
 
 (defn rq-authenticate [actx m]

            [cbfg.world.base]
            [cbfg.world.net]))

(defn state-loop [actx name loop-fn initial-state]
  (let [req-ch (achan actx)]
    (act-loop state-loop actx [name name state initial-state]
              (when-let [m (atake state-loop req-ch)]
                (when-let [[state-next res] (loop-fn state-loop state m)]

                        :users {"_anon" {:rev 0 :pswd ""}}
                        :collsets {"default" {:rev 0
                                              :colls {"default" c}}}}}}))

; --------------------------------------------

