                                 :total-time total-time
                                 :delta-time delta-time)]
           (->> (on-render screen-map @entities)
-               (remove nil?)
-               vec
-               flatten
+               transform
                (reset! entities)
                (draw! screen-map))))
       (hide [] (on-hide @screen))

(load "core_2d")
(load "core_global")
(load "core_render")

(defn defscreen*
  [{:keys [on-show on-render on-dispose on-hide on-pause on-resize on-resume

                    :total-time 0
                    :delta-time 0)
             on-show
             transform
             (reset! entities)))
      (render [delta-time]
        (let [total-time (+ (:total-time @screen) delta-time)
