   (process
    (so/goto @application (:screen data) (:params data))))
 
-(c/configure-commands! {:process-emit service/deliver-to-services!})
+(c/register-command-hook! :process-emit
+                          (fn [{:keys [output]}]
+                            (when (and output (not (empty? output)))
+                              (service/deliver-to-services! output))))
 
 ;;;;;; Example app
 

;;;; Screens

(defscreen UserSettingsScreen
 (url "users/:user-id/settings")
 (navigation
  {:title "User Settings"})
 (layout
  {:title 'UserSettingsTitle
   :content 'UserSettings}))

(defscreen UserScreen
  (url "users/:user-id")
  (navigation
   {:title "User"})
  (layout
   {:title 'UserTitle
    :content 'UserProfile}))

(defscreen UserListScreen
  (url "users")
  (navigation
    {:title "Users"})
  (layout
   {:title 'UserListTitle
    :content 'UserList}))

;;;; Commands



(defview App
  (render
   (let [{:keys [navigation sections]} (om/props this)]
     (dom/div nil
       (block {:title "Screen"}
         (:title navigation))
       (block {:title "Title"}
         (:title sections))
       (block {:title "Content"}
         (:content sections))))))

;;;; Bootstrapping

