This still suffers from a chance of premature exiting... outstanding request counts are lame.