   (started? [component]
     "Returns a `true` if component started and `false` otherwise.")
 
+  (get-name [component]
+    "Returns the name of the component.")
+
   (dependencies [component]
     "Returns a vector of dependency names."))
 
 
-
 (extend-protocol IComponent
-  clojure.lang.PersistentArrayMap
+  PersistentArrayMap
   (start! [this context]
     (let [start-fn (::start-fn this)]
       (start-fn this context)))


  (started? [this]
    (or (::started? this) false))

  (dependencies [this]
    (::depends-on this)))

(ns aug
  (:require [clojure.spec.alpha :as s])
  (:import (clojure.lang IPersistentMap
                         PersistentArrayMap
                         ISeq)))



