It would be cleaner to just have a single JobProgressListener. When FIFO scheduling is in use, it's fine if there is just a single pool called "default" that every stage appears to belong to.