It isn't implemented with what I would call a listener.
It uses Session variables to keep track of progress and sleep() to pause between sending.
Then it creates a php page to delever xml based on the session which is called from AJAX to update the progress bar.
We should have a beta available any day now.