http://p3rl.org/Worlogog::Incident http://p3rl.org/Worlogog::Restart
which uses Return::MultiLevel to do stack unwinds that can pass through try/catch constructs.