I am still not sure, what the "snap" will "bring". I am just looking on how it works right now, and it makes alot of sense to me....
and to be honest, right now, I have no idea how to "implement" the snap.
Try this - even thou its not snapping.
Set all, but the Elasticity attribute of the Shield to one. Elasticity to zero