Well you'd be right that SetScript isn't a good name for a method that appends functions to a table I guess. Something I've done recently though, related to that, is having events be dynamically (un)registered based on new keys, something like
this gist. Doing that to an object from CreateFrame is certainly possible, but is it wise to alter its metatable?