 handle errors and perform other custom actions each time they run.
 
     ; default behavior
-    (set-screen-wrapper! (fn [screen screen-fn]
+    (set-screen-wrapper! (fn [screen-atom screen-fn]
                            (screen-fn)))
     ; if there is an error, print it out and switch to a blank screen
     ; (this is useful because it makes error recovery easier in a REPL)
-    (set-screen-wrapper! (fn [screen screen-fn]
+    (set-screen-wrapper! (fn [screen-atom screen-fn]
                            (try (screen-fn)
                              (catch Exception e
                                (.printStackTrace e)

    (update! screen :renderer (stage))"
  [{:keys [update-fn!] :as screen} & args]
  (update-fn! assoc args))

    ; return a map with all values related to the screen
    {:screen screen
     :entities entities
     :options options
     :show (fn []
             (swap! screen assoc
                    :total-time 0
