if d1 is paused and waiting for d2, and d2 fires, and sends its result to d1, d2's result should not be modified. However, d2 run's d1's callbacks after giving d1 its result. And then d2's result is updated to the result of d1 after running those callbacks. And that should not be happening.
…that one, geez)