     :refresh-interval refresh-interval
     :universes (set universes)
     :next-id (atom 0)
-    :active-functions (atom {})
+    :active-functions (atom {:functions []
+                             :indices {}
+                             :keys []
+                             :priorities []
+                             :ending #{}})
     :variables (atom {})
     :fixtures (atom {})
     :task (atom nil)}))

  ([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
