                             ::do-polling-loop
                             "Polling server"
                             {::specs/srvr-ip ip})
-        cookie-response (dfrd/deferred executor)
         this (-> this
                  (assoc ::log/state log-state)
                  (assoc-in [::state/server-security ::specs/srvr-ip] ip))
+        cookie-response (dfrd/deferred executor)
+        ;; Note that cookie-sent-callback is actually cookie/wait-for-cookie!
         cookie-waiter (partial cookie-sent-callback
                                this
-                               cookie-response
+                               (partial cookie-result-callback
+                                        this
+                                        ;; This seems like a giant red-flag
+                                        ;; that we're setting this up to recurse
+                                        ;; Q: Have I really been doing this all along?
+                                        ;; Or was this a refactoring bug?
+                                        cookie-sent-callback
+                                        cookie-response
+                                        timeout
+                                        start-time
+                                        completion
+                                        ips
+                                        ip)
                                timeout)
         {log-state ::log/state
          dfrd-send-success ::specs/deferrable} (state/do-send-packet this

                               cookie-waiter
                               (System/nanoTime)
                               ;; FIXME: The initial timeout needs to be customizable
                               (util/seconds->nanos 1)
                               ;; Q: Do we really want to max out at 8?
                               ;; 8 means over 46 seconds waiting for a response,

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;; Specs

;; TODO: Fix this spec. s/keys just doesn't cut it.
;; If we have any of the "optional" keys, we must have all 3.
;; And, realistically, I don't want anything more. There's
;; to much potential to smuggle in extra crap that shouldn't
;; be involved here.
(s/def ::cookie-response (s/keys :req [::log/state]
                                 :opt [::state/security
                                       ::state/shared-secrets
