 ;;; Public
 
 (s/defn build :- SystemMap
+  "TODO: Just make this go away as pointless"
   ([description :- cpt-dsl/system-description
     options :- cpt-dsl/option-map]
    (cpt-dsl/build description options))
   ([description :- cpt-dsl/system-description]
    (build description {})))
 
-(defn build-event-loop
+(s/defn build-event-loop :- SystemMap
   "For running as an integrated library inside the Renderer
 
 At one point I thought I was really jumping the gun on this one.

                       :dependencies {:evt-iface [:ex-sock :in-chan :status-chan]
                                      :event-loop {:interface :evt-iface
                                                   :ex-chan :ex-chan}
                                      :ex-sock {:ctx :zmq-context}}}]
      (cpt-dsl/build description defaults))))

It seems to make less sense under the system namespace, but
I'm not sure which alternatives make more sense."
  [{:keys [client-keys
           context
           ctx-thread-count  ; obsolete
           direction         ; obsolete
           event-loop-name
           server-key
           socket-type       ; obsolete
           url]
    :or {ctx-thread-count 1
         socket-type :dealer
