Changed listeners to data structures
Major overhaul, with listeners explicitly listening for non-full results.  Didn't work