   [client-atom client-state succeeded? chzbrgr-length bs]
   (let [prelog (utils/pre-log "Handshake Client: child callback")
         _ (log/debug prelog "Message arrived at client's child")
-        {incoming ::next-object
-         :keys [::state]} (extract-next-object-from-stream @client-state bs)]
+        incoming (if-not (keyword? bs)
+                   (io/decode protocol bs)
+                   bs)]
     (is bs)
     (is (< 0 (count bs)))
     (log/info prelog

  "This is probably generally applicable"
  [{:keys [::prefix]
    :as state} bs]
  ;; Q: How much easier would using ByteBuf make this?
  ;; As it is, I feel like this needs its own unit test.
  (log/debug "Trying to extract object number"


        (try
          (strm/consume (partial client->srvr-consumer server-io time-out succeeded?)
                        (strm/map #(io/encode protocol %) client->server))
          (strm/consume (partial srvr->client-consumer client-io time-out succeeded?)
                        (strm/map #(io/encode protocol %) server->client))

          (let [initial-message (Unpooled/buffer K/k-1)
                helo (.getBytes (pr-str ::ohai!))]
