One thing to keep in mind is that XModule de-duplicates javascript and css definitions. So, you could make a static list of the JS files, and then just prepend it to the `js = {'js': [...]}` definition on each of your annotation modules.

So something like:
    ANNOTATOR_COMMON_JS = [resources_string('annotater-full.js'), ...]
    
    class TextAnnotatorModule(XModule):
        js = {'js': ANNOTATOR_COMMON_JS + [... other text specific js ...]