Hey Les, you might have gone a bit overboard with this :) Specifically, I don't see a reason why AbstractSessionManager would need to serve the naked SessionListener collection to anybody by providing get/set methods for the collection itself. I think the common idiom is you have add<Type>Listener and remove<Type>Listener operations in the object that's holding the collection, hiding the details of the collection implementation. Also, I don't think the SessionListenerRegistrar was extra - it's always more flexible to program against the interface if we ever need to relocate this functionality. You mind if I: 1) remove getter and setter for the collection 2) add back the interface with add/remove operations 3) Make AbstractSession implement the interface and adjust the implementation accordingly
Kalle
