Tasks should make a best effort to calculate a completion percentage. If the calculation is expensive, the value should be cached and only updated in regular intervals or whenever is appropriate. If a completion percentage cannot be computed at all, the optional return value should be unset. Completion percentage value.