 
 (defprotocol WrapperEvent
   (get-data [_])
-  (set-data [this v]))
+  (set-data! [this v]))
 
 ;; For sakes of prototyping, we are using the mutable
 ;; wrapper. This is not very idiomatic to ring buffer,

  (let [capacity (or (:queue-capacity defaults) default-capacity)
        pool     (threadpool (or (:pool-size defaults) default-poolsize))]
    (DisruptorQueue. (disruptor (wrapper-event-factory) capacity pool)
                     (make-translator (fn [e v] (set-data e v))))))

(defrecord BlockingMemoryQueue [ingestq writeq defaults]
  component/Lifecycle

(deftype Event [^{:volatile-mutable true} x]
  WrapperEvent
  (get-data [_] x)
  (set-data! [this v] (set! x v)))

(defn wrapper-event-factory
  []
