      :resize (fn [w h]
                (execute-fn! on-resize :width w :height h)
                (update-screen! @screen))
-     :resume #(execute-fn! on-resume)
-     :dispose #(execute-fn! on-dispose)}))
+     :resume #(execute-fn! on-resume)}))
 
 (defmacro defscreen
   "Defines a screen, and creates vars for all the functions inside of it. All

        (pause [this] (run-fn! :pause))
        (resize [this w h] (run-fn! :resize w h))
        (resume [this] (run-fn! :resume))
        (dispose [this] (run-fn! :dispose))))))

(defn set-screen-wrapper!
  "Sets a function that wraps around all screen functions, allowing you to

  (let [run-fn! (fn [k & args]
                  (doseq [screen screen-objects]
                    (apply (get screen k) args)))]
    (.setScreen game-object
      (reify Screen
        (show [this]
