This bit of code worries me. Doesn’t this (potentially) mutate the class itself based on what you pass in from the hash, overriding any existing methods as it goes? I know we’re only expecting things here to be coming from other GDS services, but being able to mutate classes at runtime by passing in arbitrary parameters makes me twitchy.