     {:functions (vec-insert (:functions base) index f)
      :indices (insert-key (:indices base) key index)
      :keys (vec-insert (:keys base) index key)
-     :priorities (vec-insert (:priorities base) index priority)}))
+     :priorities (vec-insert (:priorities base) index priority)
+     :ending (:ending base)}))
 
 (defn add-function!
   "Add an effect function or cue to the active set which are affecting

  ([show key]
   (end-function! show key false))
  ([show key force]
   (let [effect (find-function show key)] 
     (when (and effect
                (or force (fx-util/end effect show (metro-snapshot (:metronome show)))))
       (swap! (:active-functions show) #(remove-function-internal % (keyword key)))))))

(defn clear-functions!
  "Remove all effect functions from the active set, leading to a blackout state in all controlled

  (reset! (:active-functions show) {:functions [],
                                    :indices {},
                                    :keys [],
                                    :priorities []
                                    :ending #{}}))

(defn- address-map-internal
  "Helper function which returns a map whose keys are all addresses in use in a given universe
