two variables are no longer required
Fixed lazy fucntions to 1. lock up front and 2. cache the queue length,
the goal of which being that subsequent (recursive) calls to the lazy
function should not affect the current round of execution. (relates to
Issue #348)