                                  (:actions container)))]
         (html
          [:div.container-view {:id (str "container_" (:index container))}
-          (om/build-all action-v2 actions {:key :step
-                                           :opts opts})])))))
-
-(defn container-build-steps-v2 [{:keys [containers current-container-id]} owner]
+          (om/build-all action actions {:key :step
+                                        :opts opts})])))))
+
+(defn container-build-steps [{:keys [containers current-container-id]} owner]
   (reify
     om/IInitState
     (init-state [_]


   :else nil))

(defn container-build-steps [{:keys [containers current-container-id]} owner]
  (reify
    om/IInitState
    (init-state [_]
      {:autoscroll? false})
    om/IDidMount
    (did-mount [_]
      (mount-browser-resize owner))
    om/IWillUnmount
    (will-unmount [_]
      (dispose (om/get-state owner [:browser-resize-key])))
    om/IDidUpdate
    (did-update [_ _ _]
      (when (om/get-state owner [:autoscroll?])
        (when-let [node (utils/sel1 "#container_scroll_parent")]
          (utils/scroll-to-node-bottom node))))
    om/IRender
    (render [_]
      (let [non-parallel-actions (->> containers
                                      first
                                      :actions
                                      (remove :parallel)
                                      (map (fn [action]
                                             [(:step action) action]))
                                      (into {}))]
        (html
         [:div#container_scroll_parent ;; hides horizontal scrollbar
          [:div#container_parent {:on-wheel (fn [e]
                                              (check-autoscroll owner (aget e "deltaY"))
                                              (when (not= 0 (aget e "deltaX"))
                                                (.preventDefault e)
                                                (let [body (.-body js/document)]
                                                  (set! (.-scrollTop body) (+ (.-scrollTop body) (aget e "deltaY"))))))
                                  :on-scroll (fn [e]
                                               ;; prevent handling scrolling if we're animating the
                                               ;; transition to a new selected container
                                               (let [scroller (.. e -target -scroll_handler)]
                                                 (when (or (not scroller) (.isStopped scroller))
                                                   (raise! owner [:container-parent-scroll]))))
                                  :class (str "selected_" current-container-id)}
           (for [container containers]
             (om/build container-view
                       {:container container
                        :non-parallel-actions non-parallel-actions}
                       {:opts {:uses-parallelism? (< 1 (count containers))}}))]])))))

(defn output-v2 [out owner]
  (reify
    om/IRender
    (render [_]

                     (when (:truncated action)
                       [:span.truncated "(this output has been truncated)"])

                     (om/build-all output (:output action) {:key :react-key})

                     (om/build trailing-output (:converters-state action))

                     (when (:truncated action)
                       [:span.truncated "(this output has been truncated)"])]])])]]]]])))))

(defn container-view [{:keys [container non-parallel-actions]} owner {:keys [uses-parallelism?] :as opts}]
  (reify
    om/IRender
    (render [_]
