Yikes. Bummer that Leaflet doesn't provide a mechanism for updating the URL of a layer without calling internal methods.

Consider adding a doc string here explaining why we have to poke Leaflet in this way. Also consider a pull request to Leaflet.