This has to do with how "gpii.adjuster.activatableLabelsClickOnActivate" grade is implemented,
https://github.com/chrispetsos/prefsEditors/blob/GPII-590/src/shared/adjusters/js/activatableLabelsClickOnActivate.js
In its "activatable" listener it takes "{that}.options.activatableLabelsSelector" as argument. Now the question is why is this implemented like this and does not take as argument e.g. "{that}.dom.activatableLabelsSelector". The answer is that in many adjusters that would merge with this grade, there was already a selector for the elements that the activatableLabelsSelector was targeting. I realized when implementing this that i could not have two selectors targeting the same elements within a component. So, i would either change all integrators' references of the selector they used or do it this way and not make changes in many places. However, as development continues, i realize that right now the only conflict with selectors exist in the "gpii.adjuster.followingElement" grade here,
https://github.com/chrispetsos/prefsEditors/blob/GPII-590/src/shared/adjusters/js/followingElement.js#L23-L29
In that case, "followingElementLabel" and "activatableLabelsSelector" would have to point to the same elements which is prohibited. I could make it as initially thought and only pose a change to the followingElement grade, but i think that in terms of design this is not very correct. All integrators of "gpii.adjuster.activatableLabelsClickOnActivate" would have to lock a set of elements to a single selector name. What if they wanted to use the same elements for a different purpose? Perhaps the "gpii.adjuster.activatableLabelsClickOnActivate" could be implemented in a more robust way. What do you think?