change to lightweight onprogress events and an explicit getPeakData() method exposed to javascript