 
 (defn fwd-put [actx ch-key m]
   (act fwd-put actx (aput fwd-put (ch-key m) m)))
+
+(defn fwd-put-out [actx ch-key m]
+  (let [out (achan actx)]
+    (act fwd-put-out actx (aput fwd-put-out (ch-key m) (assoc m :res-ch out)))
+    out))
 
 (defn fwd-req [actx ch-key m]
   (act fwd-req actx (areq fwd-req (ch-key m) m)))

      [server-state (assoc (dissoc m :pswd) :status :invalid)])
    "realms-list"
    (if-let [{:keys [realm user]} m]
      [server-state (assoc m :status :ok :result (keys (:realms server-state)))]
      [server-state (assoc m :status :not-authenticated)])
    nil))


(def rq-handlers
  {"authenticate" rq-authenticate
   "lane-state" #(fwd-req %1 :lane-state-ch %2)
   "realms-list" #(fwd-put-out %1 :lane-state-ch %2)
   "add" cbfg.world.base/example-add
   "sub" cbfg.world.base/example-add
   "count" cbfg.world.base/example-count
