Suppose you were asked to build a device that works as follows.

1. It consists of a base unit and to hand-held units that can dock in the base unit.

2. Each hand-held unit has a counter, a button labeled "A", a red light, and a green light. The counter initially reads 0. The base has a button labeled "Reset".

3. If you put both hand-held units in the docks in the base and press "Reset", the counters in the hand-held units are set to 1000.

4. If you press the "A" button on a hand-held unit nothing visible happens if the counter is 0. If the counter is greater than 0, exactly one of the lights flashes briefly, and the counter goes down by 1.

5. If someone records the results of a large number of presses of the "A" button on one of the hand-held devices, every statistical test they can device will be consistent with the probability of getting the red light being 0.5. As far as they can tell it is completely random what color they get. This is true both within a run of 1000 presses after a reset, and across resets.

6. If two people compare their result from a run of 1000 "A" presses of two hand-held units that were last reset together, their results are identical. I.e., if person 1 got red on one of the units when the counter was 1000, blue for 999, red for 998, 997, and blue for 996, then so did person 2 on the other unit.

It would be pretty easy to build such a device. The hand-held units could simply have 1000 bits of storage. When the base unit resets them it merely has to generate 1000 random bits using a true random number generator and store that random bit sequence in both units. The units use that sequence to choose the light color when the "A" button is pressed.

Now suppose we want a more elaborate device. Same basic setup with the base and the two hand-held units, but now the units have three buttons, "A", "B", and "C". Still two lights, red and green. Pressing any button gives you a short light flash and decrements the counter.

Like with the single button device, if you play with one of the hand-held units alone every test you can think of is consistent with the light color being entirely random, with red and green equally likely.

If you record the results of your 1000 presses, and compare results with someone else doing the same with a unit that was reset when yours was, we want to see these results:

1. When you just look at your results, every statistical test you can device is consistent with it being completely random what color you get with the two colors being equally likely.

2. When you two pressed the same button with the same counter value, you find that you got the same color on your two units 100% of the time.

3. When one of you pressed "A" and one "C" with the same counter values, you find that you got the same color on your two units 50% of the time. It seems to be completely random whether or not you got the same color or different colors.

4. When one of you pressed B" and one of you pressed "A" or "C" with the same counter value, you get the same color 85% of the time. It seems to be completely random whether or not you got the same or different colors, but instead of being 50/50 like in #3, it is 85/15 for same color.

You might think this device could be built with just minor changes to the earlier "A" only device. Just expand the storage from 1000 bits to 3000 bits so it can have a table for each button saying what color to flash if that button is pressed for any particular counter value. That base can download values that give the desired distribution.

But when you try to actually figure out those tables you will run into a problem. You will find that you cannot devise values that will actually give the right distribution unless you know ahead of time which sequence the users are going to choose for their button pushes. If the users are free to decide which button to press for each of the 1000 rounds and they don't have to decide until after the tables have been initialized, there will always be sequences they can press that those tables won't give the right distribution for.

You will find that the only way, if you limit yourself to pre-quantum physics, to make the units actually work is to include some kind of communications channel between the units so that whichever unit gets a button pressed first for a given counter value can tell the other what it choose and the other can then adjust its response to make sure the right distribution happens.

That could work, but then you would have a limitation that your units only work according to spec if they are close enough together when the buttons are pressed for them to get a message from the first one pressed to the second one before it is pressed.

If two people took a pair of units, reset them together, separated them by say a light-hour, and then started pressing their buttons at the same time the devices would not be able to give the right correlations.

You can make the devices work, but instead of making your table use regular bits, you need to use a table of qubits. Use 1000 qubits in each device, with the qubit in each hand-held unit for counter value N entangled with the corresponding cubit in the other device. A button press measures the value of the qubit, with each button corresponding to a measurement in a different basis. With the right choice of basis for each button, you get the correlations given in the spec, and it works no matter how far apart the units are.

As far as I know nobody has built the specific devices described above, but there have been experiments done with entangled qubits or entangled particles that show that they do work that way yielding those correlations when measured in different bases, and that this works even if they are very far apart, so you could definitely build the devices described above.