       (>!! (:planning-ch-head (:coordinator onyx-coord)) [job ch])
       (<!! ch)))
 
+  IAwait
+  (await-job-completion [this job-id]
+    (await-job-completion* (:sync onyx-coord) job-id))
+
   IRegister
   (register-peer [this peer-node]
     (>!! (:born-peer-ch-head (:coordinator onyx-coord)) peer-node))

  IShutdown
  (shutdown [this] (component/stop onyx-coord)))

;; A coordinator that can run remotely. Peers commuicate with the
;; coordinator by submitting HTTP requests and parsing the responses.
(deftype HttpCoordinator [uri]
  ISubmit

            [com.stuartsierra.component :as component]
            [clj-http.client :refer [post]]
            [taoensso.timbre :refer [info]]
            [onyx.coordinator.impl :as impl]
            [onyx.system :as system]
            [onyx.extensions :as extensions]))

(defprotocol ISubmit
  "Protocol for sending a job to the coordinator for execution."
