modified IterableQueue so as not to need None to signify end of queue
(using event flags instead) and updated test cases accordingly