make save to png optional
Check progressBlock is not nil before executing.