We have a use case where we have our own implementation of reader, writer and processor with a delegate pattern for the processor and writer. We want to offer the same level of features for those nested processor/writers, namely listener registration.

Right now, we use the Composite*Listener approach but it has a few drawbacks:

* We need to implement all the listeners and have one instance per listener type
* The registration through annotation is not supported

Did we miss something obvious?

Thanks