            local-should-update (execute-local-method this :should-update next-props next-state)
            mixin-update?       (not (empty? (local-mixins this :should-update)))
            mixin-should-update (every? identity (execute-mixin-methods this :should-update next-props next-state))]
-        (cond
-          (and local-update? mixin-update?)
-            (and local-should-update mixin-should-update)
-          mixin-update?
-            mixin-should-update
-          local-update?
-            local-should-update
-          :else
-            (or (not= (get-props this) next-props)
-                (not= (get-state this) next-state))))))
+       (cond
+         (and local-update? mixin-update?)
+           (and local-should-update mixin-should-update)
+         mixin-update?
+           mixin-should-update
+         local-update?
+           local-should-update
+         :else
+           (or (not= (get-props this) next-props)
+               (not= (get-state this) next-state))))))
 
    :componentWillUpdate
    (fn [next-props next-state] (this-as this
-     (let [next-props (get-show-data next-props)
+     (let [next-props (props-with-defaults this (get-show-data next-props))
            next-state (get-show-data next-state)]
        (execute-mixin-methods this :will-update next-props next-state)
        (execute-local-method  this :will-update next-props next-state))))

(defn get-node
  [component] (.getDOMNode component))

(defn get-props
  "Returns the value of the components inherited nested associative structure.
  ks is an optional property that gives quick access to a get-in call"
  ([component] (aget (.-props component) "__show"))
  ([component ks]
   (let [ks (if (sequential? ks) ks [ks])]
     (get-in (get-props component) ks))))


   :componentWillReceiveProps
   (fn [next-props] (this-as this
     (let [next-props (props-with-defaults this (get-show-data next-props))]
       (execute-mixin-methods this :will-receive-props next-props)
       (execute-local-method  this :will-receive-props next-props))))

   :shouldComponentUpdate
   (fn [next-props next-state] (this-as this
     (let [next-props (props-with-defaults this (get-show-data next-props))
           next-state (get-show-data next-state)
           ;; Need to explicitly check for the method since a nil return is
           ;; acceptable from should-update
