                            :eigen-values  {:headings nil :body [eigen-values]}
                            :eigen-vectors {:headings nil :body eigen-vectors}
                            }]]
+      (chsk-send! uid reply-msg))))
 
-      (chsk-send! uid reply-msg))))
+(sente/start-chsk-router! ch-chsk event-msg-handler)
 
 (defroutes api-handlers
   (GET "/" [] "You found the PVA Parrot backend service!")
   (GET  "/chsk" request (ring-ajax-get-or-ws-handshake request))
-  (POST "/chsk" request (ring-ajax-post                request))
-  )
-
+  (POST "/chsk" request (ring-ajax-post request)))
 
 (def api (-> api-handlers
-           (keyword-params/wrap-keyword-params)
-           (params/wrap-params)))
+             (keyword-params/wrap-keyword-params)
+             (params/wrap-params)))

          num-samples    (count csv-body)
          csv-matrix     (io/csv-to-matrix (:file-body ?data))
          summary-variables (->> csv-matrix
                              (pca/transpose)
                              (pca/summarize (rest csv-headings)))
          normalized-data (pca/normalize-compos csv-matrix)
          summary-normalized (->> normalized-data
                              (pca/transpose)
                              (pca/summarize (rest csv-headings)))
          pca-data       (pca/components csv-matrix)
          pca-std-devs   (:std-dev pca-data)
          eigen-values   (:eigen-values pca-data)

  (when ?reply-fn
    (?reply-fn {:unmatched-event-as-echoed-from-server event})))

(defmethod event-msg-handler :data-import/csv-sent
  [{:as event-msg :keys [event id ?data ring-req ?reply-fn send-fn]}]
  (when ?data
