That sounds like it would work fine to me. If I understand correctly, then if wanted to create a request header filter that would look at the requests and watch for one that meets some predefined criteria, I could then do $self->proxy->{loop} = 0 to shutdown if I see it come through.
I tried adding that code now and it doesn't cause it to return from start().
I have another suggestion for 0.16 that I'll put in another post so as to keep the threads logical. Thanks again for a great module.