Hi Geir,
there's a few places where you can hook into the Events and Streams.
In the UnitOfWork you can define a UnitOfWorkListener, which receives notifications when it is committed. You'll get access to all aggregates and events for publication. You can get the EventMetaData from the event and cast it to MutableEventMetaData.
I'm eager to learn about your use-case, since Axon 2 uses different mechanisms as Events (the EventMessages to be exact) are immutable. I want to make sure your usecase is supported in Axon 2 as well.
Cheers,
Allard