Hmm, have you considered the idea of separating the text selection from the adder? I think that's something that might be worth including in core. It could be a hook or event that's triggers when a selection is focused/unfocused. I think I used something like this in the touch plugin (will take a look later).

It looks to me like the only place that it's currently set is in the adder, and reading the current text selection could be considered outside of the scope of the add widget. There are also tickets to improve keyboard support etc, for selection. It seems that this could be useful to other plugins.

Another option would be to have some sort of generic key/value store API that the plugins can use to share state rather than adding properties to the core instance. But this is more of a hack and bound to get messy quickly.