knowmad,
My situation is different than yours. That is why I said it was perfect for my needs. I was using WWW::Mechanize for form submission and not users. The run_on_(start|finish|wait) were the callbacks I needed to make sure things were going properly. I am sorry this doesn't fit your situation, but it worked great for me.