           :name "Blizzard Puck Fab5"
           :mode mode)))
 
+(def ^:private ws-head-offsets
+  "The X-axis positions of the eight weather system heads"
+  [-0.406 -0.305 -0.191 -0.083 0.083 0.191 0.305 0.406])
+
+(defn- ws-head
+  "Creates a head definition for one head of the Weather System"
+  [index]
+  {:channels [(chan/color (+ 2 (* 3 index)) :red)
+              (chan/color (+ 3 (* 3 index)) :green)
+              (chan/color (+ 4 (* 3 index)) :blue)]
+   :x (get ws-head-offsets index)})
+
 (defn weather-system
   "[Weather
   System](http://www.blizzardlighting.com/products/all-in-one-lighting-systems/item/209-weather-system)

;;       motions. Also unimplemented is the whole concept of Fiture ID, but that would require
;;       major support throughout Afterglow. Wait until people using overpopulated DMX networks
;;       ask for it...

(def ^:private ws-head-offsets
  "The X-axis positions of the eight weather system heads"
  [-0.406 -0.305 -0.191 -0.083 0.083 0.191 0.305 0.406])

(defn- ws-head
  "Creates a head definition for one head of the Weather System"
  [index]
  {:channels [(chan/color (+ 2 (* 3 index)) :red)
              (chan/color (+ 3 (* 3 index)) :green)
              (chan/color (+ 4 (* 3 index)) :blue)]
   :x (get ws-head-offsets index)})

(defn puck-fab5
  "[Puck

  ![Blade
  axes](https://raw.githubusercontent.com/brunchboy/afterglow/master/doc/assets/Blade.png)

  If you are hanging the light at an odd angle, or for any reason it
  is harder to measure the exact axis location than the location of
  where you are hanging it, you can supply an optional argument
  `:hung` containing the distance in meters from the origin in the
  photo to the point at which it was hung (the center of the bar it is
  clamped to), and Afterglow will calculate where the head is based on
  that distance and the orientation at which you reported it hung.
  With the standard clamp mount and a standard O-clamp that distance
  seems to be twelve inches.

  The center pan value (aimed straight at the audience when hung in
  the default orientation described above), is defined as 84, a half
  revolution around from that, so that it has room to move in both
