Add ProgressEvent interface