This also addresses the comment that @kayousterhout brought up above. JobProgressListener no longer needs to keep track of a storage status list (which it never really uses), but instead only listens for ExecutorStateChange events.