code: function (Class, descriptors) {
      var body = '"use strict";\n';
      var casters = {};
      each(descriptors, function (descriptor, name) {
        if (descriptor.writable || typeof descriptor.set === 'function') {
          var accessor = createAccessor(name);
          if (descriptor.cast || descriptor.type) {
            casters[name] = Casting.forDescriptor(descriptor);
            body += 'if (config' + accessor + ' !== undefined) {\n\
                        this' + accessor + ' = casters' + accessor + '(config' + accessor + ');\n\
                     }\n';
          }
          else {
            body += 'if (config' + accessor + ' !== undefined) {\n\
                        this' + accessor + ' = config' + accessor + ';\n\
                     }\n';
          }
        }
      });
      var configure = this.createDynamicFunction('casters', 'config', body);
      var fn = function (config) {
        return configure.call(this, casters, config);
      };
      fn.isAutoGenerated = true;
      return fn;
    }
docs: Create a `configure` function for a class.
  
  @param  {Function} Class       The class.
  @param  {Object}   descriptors The property descriptors.
  
  @return {Function} The configure function.