Use data object to calculate progress instead of the event object