Consider this Manipulate
Manipulate[{x, y}, {{x, 0}, -2, 2}, {{y, 0}, -2, 2}]
Each of the sliders can move freely and independently. But, I want to impose a constrain: the difference between $x$ and $y$ can't exceed $1$, i.e. $|x-y|\le 1$. For example, when $x=0$ slider $y$ can move freely from $-1$ to $1$, but when $y$ reaches $1$ and we increase its value further, then this action will drag the slider $x$ away from $0$ to keep $|x-y|=1$. That is, when $x=0$ and $y=1$ and we change $y$ to $1.2$ then $x$ will jump to $0.2$ to satisfy $|x-y|=1$, but if we change $y$ back to $1$ then this won't affect $x$ since $|x-y|\le 1$ is not violated. This behavior must be symmetrical between $x$ and $y$. Is it possible to construct this conduct in Manipulate? How do we do this?