Protect the buildURL() method, and invoke it when underlying data changes