And if it doesn't work as a Token Action (for instance, you need differentiated input, or can't use "selected" calls), then you can use SelectManager's forselected handle and iterate over tokens, calling an InsertArg command to write an ability using Fetch to insert character-specific component info. For each token, the API would be grabbing the source ability text and replacing the hooks with character specific stuff, then moving on to the next token and repeating the process. It'd be like a meta-funk jam session.