Yes, the only challenge here is the use of kind_of? to detect that the class is derived from Chef::Resource::Script.  I'd like to find such an operator for two classes -- kind_of? operates on an instance and a class. So at the moment, I'm waiting until I've created the instance to make that check so I can use kind_of?. There might be a better way to do that. :) For now, I've changed get_resource_class to get_interpreter_resource so that all validation logic is one place.