 
 ;; completed callbacks
 (defn body-completed [state]
-  "Provides value that will be delivered to response promise."
-  @state)
-
-(defn new-body-completed [state]
   [true :continue])
 
 ;; error callbacks
 (defn error-collect [state t]
-  "Stores exception under :error in state"
-  (dosync (alter state assoc :error t)))
-
-(defn new-error-collect [state t]
   [t :continue])
 
 ;; default set of callbacks
-(def *default-callbacks*
-     {:status new-status-collect
-      :headers new-headers-collect
-      :part new-body-collect
-      :completed new-body-completed
-      :error new-error-collect})
+(def
+ ^{:doc "Default set of callbacks."}
+ *default-callbacks*
+ {:status status-collect
+  :headers headers-collect
+  :part body-collect
+  :completed body-completed
+  :error error-collect})
 
 (defn url-encode
   "Taken from Clojure Http Client"

       (onThrowable [#^Throwable t]
                    (do
                      (print-cause-trace t)
                      (deliver (:error resp) (error resp t))))))
    ^{:started (System/currentTimeMillis)}
    resp))

;; default set of callbacks

;; status callbacks
(defn status-collect [_ status]
  "Returns all status and procides with execution"
  [status :continue])

;; header callbacks
(defn headers-collect [_ headers]
  "Reurns all headers, or aborts if no headers provided."
  [headers (if-not headers :abort)])

;; body callbacks
(defn body-collect [state baos]
  (let [body (:body state)]
    (if (delivered? body)
      (do
