Each time the $watch'ed array changes we deregister the listeners we have on individual layers and then register new ones.