 
    "Data Raven"
    {:abilities [give-tag
-                {:msg "give the Runner 1 tag using 1 power counter"
-                 :counter-cost 1
-                 :effect (effect (tag-runner 1))}
-                (trace-ability 3 {:label "Add 1 power counter"
-                                  :msg "add 1 power counter"
-                                  :effect (effect (add-prop card :counter 1))})]}
+                (power-counter-ability give-tag)
+                (trace-ability 3 add-power-counter)]}
 
    "Dracō"
    {:prompt "How many power counters?"

                end-the-run]}

   "Viktor 2.0"
   {:abilities [{:msg "do 1 brain damage using 1 power counter"
                 :counter-cost 1
                 :effect (effect (damage :brain 1 {:card card}))}
                (trace-ability 2 {:label "Add 1 power counter"
                                  :msg "add 1 power counter"
                                  :effect (effect (add-prop card :counter 1))})
                end-the-run]}

   "Viper"

  {:label (str "Gain " credits " [Credits]")
   :msg (str "gain " credits " [Credits]")
   :effect (effect (gain :credit credits))})

(defn power-counter-ability
  "Does specified ability using a power counter."
  [{:keys [label msg] :as ability}]
  (assoc ability :label (str "Hosted power counter: " label)
                 :msg (str msg " using 1 power counter")
                 :counter-cost 1))


;;; For Advanceable ICE
