   [n]
   "Creates a default description for n-th player."
   {:name (str "Player " n)
-   :level 1})
+   :level 1
+   :strength 0})
 
 (def app-state
   (atom {:players (mapv default-player (range 1 4))}))

           [:button
            {:class "btn btn-danger btn-lg btn-block"
             :on-click #(put! level-changed-c ::dec)}
            "-"]]
          [:div {:class "col-sm-8"}
           [:div {:class "progress"}
            [:div {:class "progress-bar"

           [:button
            {:class "btn btn-success btn-lg btn-block"
             :on-click #(put! level-changed-c ::inc)}
            [:i {:class "glyphicon glyphicon-chevron-up"}]]]])))))

(defn strength-indicator
  "Editable strength indicator."
  [player owner]
  (reify
    om/IRenderState
    (render-state [_ state]
      (let [strength-changed-c (:strength-changed state)
            strength (max (+ (:level player) (:strength player)) 1)]
        (html
         [:div {:class "row"}
          [:div {:class "col-sm-2"}
           [:button
            {:class "btn btn-info btn-lg btn-block"
             :on-click #(put! strength-changed-c ::dec)}
            "-"]]
          [:div {:class "col-sm-8"}
           [:div {:class "progress"}
            [:div {:class "progress-bar progress-bar-warning"
                   :role "progressbar"
                   :aria-valuenow strength
                   :aria-valuemin "0"
                   :aria-valuemax "50"
                   :style {:width (str (* strength 2) "%")}}
             strength]]]
          [:div {:class "col-sm-2"}
           [:button
            {:class "btn btn-info btn-lg btn-block"
             :on-click #(put! strength-changed-c ::inc)}
            "+"]]])))))

(defn editable-label
