> We're talking major changes to the design. I'm fine with this though > however I'd like to make sure we have listed all our options. If we're going to look at design/interface changes, I see a generic issue here: public void handle( ProtocolSession session, Object request ) In my view, there should be a request object that is the single point from which ALL necessary information required to service the request is exposed, including the session and any objects that components of the processing chain might wish to add as attributes of the request. --- Noel