      (reify
        Object
        (equals [this other]
-         (= source (get-inner-index other)))
+         (= source (unwrap other)))
        WrappedIndex
-       (inner [this]
+       (source [this]
          source)
        Index
        (clear [this]

              integration now."
              ((:index core) event)))

; Provides an accessor for an inner index
(defprotocol WrappedIndex
  (inner [this]))

(defn- get-inner-index
  "Get the inner index of a wrapped index"
  [wrapped]
  (if (instance? riemann.core.WrappedIndex wrapped)
    (inner wrapped)
    wrapped))

(defn wrap-index


       ServiceEquiv
       (equiv? [this other]
         (service/equiv? source (unwrap other)))

       Service
       (conflict? [this other]
         (service/conflict? source (unwrap other)))
       (reload! [this new-core]
         (service/reload! source new-core))
       (start! [this]
