           polling-interval 1000]
       (go-loop [light-state-machine
                 (time-sm
+                  component
                   (init-state! floor-button roof-button light-sensor)
-                  (partial >! (:door channels) :open)
-                  (partial >! (:door channels) :close))]
+                  (partial >!! (:door channels) :open)
+                  (partial >!! (:door channels) :close))]
         (let [[message _] (async/alts! [kill-chan (async/timeout polling-interval)])]
           (if-not (= message :kill)
             (let [light-level (bb/safe-read! light-sensor)]
-              (notify ::measurement {:light-level light-level})
+              (notify component ::measurement {:light-level light-level})
               (recur (trans-sm! light-state-machine light-level)))
-            (notify ::info "LightMonitor recieved kill signal; ending polling loop.")))))
+            (notify component ::info "LightMonitor recieved kill signal; ending polling loop.")))))
     (assoc component :kill-chan kill-chan))
 
   (stop [component]

              (if (< brightness dusk)
                ; state side effects
                (do
                  (notify ::info "Switching from day to night and running evening routine")
                  (night-fn!)
                  :night)
                ; Don't change anything

              (if (> brightness dawn)
                ; state side effects
                (do
                  (notify component ::info "Switching from night to day and running morning routine")
                  (day-fn!)
                  :day)
                ; Don't change anything
