Reusable element within a repeating group

Hi,
maybe you can help me out!

PROBLEM: Cannot find a way to compare a list of jobs with the job selected by the user within a reusable element.

Want to have some status icons in a job board. The users can click the icon and select the job for their needs.

:prohibited: - Job not interesting
:eight_spoked_asterisk: - Add to wish list
:airplane: - Add to application list

Goal:
On page load all the marked jobs should be marked correct as stored for the user and all changes should be stored and displayed during the user session.

Current solution:
The current job lists (declined, wishlist, applications) of a user are stored as types (database) and every change triggers a workflow where a custom state is set and the change is stored.

It works fine on one page!
I get the list already marked and stored jobs for the user on page load in a custom state and
manipulate the custom state and store back the modified list in the database.

The icon toggle are based on the custom state. So they react fast.
The changes are stored on every change so nothing gets lost and the user get instand feedback.

But I have different pages - so I tried to create a reusable element.

Problem:
Now I have problems to compare the initial list of marked job for the user with the changes made by the user.

  1. When loading the initial list of marked job from the database on the repeating group, I will do this for every job (thousands). - Not that good

  2. If I select the initial list once on the page and pass it as parameter to the reusable element when the user clicks an icon, every element has the same initial list to compare without the changes made in the meantime

I really have no idea how to handle that or how to design the application to avoid that.

Thanks for your help!

Gerald