adding IAssociative to Domina events

I'm trying to make Domina events usable as maps so that they can be used with dispatch! just like maps.  (The use-case is that I might want to receive an event, modify it slightly, and then dispatch a new event based on the old one.)  I added the IAssociative protocol in the reify of create-listener-function and assoc now works.  The next step would be making them seq-able and, eventually, printable as maps.  Any guidance on the next two steps or the overall approach?
Actually the new one is here:

https://github.com/levand/domina/pull/74

I closed the old pull request (which is over a year old at this point based
on an old version of Domina) and did a fresh fork.  This doesn't have the
project.clj problem.

On Sun, Dec 14, 2014 at 12:34 PM, Nikola Chubrich <nchubrich@gmail.com>
wrote:
>
> I just realized I pushed up the old commit (I have two different repos).
> Why don't I close this pull request and start a new one (that was my
> intention to begin with).  I'll try your change to IPrintWithWriter; I
> think what happened is I wrote IPrintWithWriter first, before I had made it
> seqable.
>
> On Sun, Dec 14, 2014 at 11:55 AM, Creighton Kirkendall <
> notifications@github.com> wrote:
>>
>> In src/cljs/domina/events.cljs
>> <https://github.com/levand/domina/pull/56#discussion-diff-21798682>:
>>
>> > @@ -44,7 +45,19 @@
>> >               val
>> >               (aget evt (name k))))
>> >           (-lookup [o k not-found] (or (-lookup o k)
>> > -                                      not-found))))
>> > +                                      not-found))
>> > +         ISeqable
>> > +         (-seq [o]
>> > +           (map #(vector % (gobj/get evt %)) (prim-seq (gobj/getKeys evt) 0)))
>> > +         IPrintWithWriter
>> > +         (-pr-writer [o writer opts]
>> > +           (let [pr-pair (fn [keyval] (pr-sequential-writer writer pr-writer "" " " "" opts keyval))]
>> > +             (pr-sequential-writer writer pr-pair "{" ", " "}" opts
>> > +                                   (reify
>> > +                                     ISeqable
>> > +                                     (-seq [o]
>> > +                                       (map #(vector % (gobj/get evt %)) (prim-seq (gobj/getKeys evt) 0))))
>>
>> Why is this reify here with the same -seq as o. This is the same as
>> calling (seq o). Maybe something like:
>>
>> IPrintWithWriter
>> (-pr-writer [o writer opts]
>>   (-write writer "domina.event" (into {} (seq o))))
>>
>> —
>> Reply to this email directly or view it on GitHub
>> <https://github.com/levand/domina/pull/56/files#r21798682>.
>>
>