 (defmulti step-description :type)
 (defmulti item-ui :type)
 
-(defmethod item-ui :default [step]
+(defmethod item-ui :default [step path]
   (dom
    (if-not (:type step)
-     (item-ui {:type :constant
-               :data step})
+     (item-ui {:type :non-node-constant
+               :data step}
+              path)
      [:span (pr-str step)])))
 
 (defmethod step-list-item :default [step]

  (let [value (:data step)
        name (datatype-name value)]
    (dom
      [:p {:className "desc"} "Add a " [:span {:className "value"} name]])))

;;*********************************************************
;; editor

             "keyword" (fn [x]
                        (dom [:span {:className "value"}
                              (str x)]))
             "string" (fn [x path]
                        (dom
                         (if (input? path)
                           [:input {:type "text" :defaultValue x
                                    :onKeyPress (fn [e]
                                                  (when (= 13 (.-charCode e))
                                                    (assoc-index! (:step-var path) (:sub-path path) (.-target.value e))
                                                    (remove-input! path)
                                                    ))}]
                           [:span {:className "value"
                                   :onClick (fn []
                                              (add-input! path true)
                                              )}
                            (str x)])
                          ))
             "list" (fn [x path]
                      (list-ui x path))
             "table" (fn [x path]
                       (table-ui
                        (-> x keys)
                        (-> x vals)
                        path))}))

;;*********************************************************
;; Aurora state
