In the case where there is no next item, the progress will not get updated, so we'll essentially skip one element from filling the progress bar further. In the future we may/will want to not hide the notification upon completion, so this will look better in such scenarios.
Previously, it was possible for an object to be "refreshed" with a stale cached state from the current thread's context.
This ensures a check against the database is performed as well.
Resolves#1562.