# File lib/couchrest/mixins/callbacks.rb, line 383
      def _create_and_run_keyed_callback(klass, kind, key, obj, &blk)
        @_keyed_callbacks ||= {}
        @_keyed_callbacks[[kind, key]] ||= begin
          str = self.send("_#{kind}_callbacks").compile(key, :object => obj, :terminator => self.send("_#{kind}_terminator"))

          self.class_eval "def _run__\#{klass.split(\"::\").last}__\#{kind}__\#{key}__callbacks\n\#{str}\nend\n", __FILE__, __LINE__ + 1
                    
          true
        end
                                  
        obj.send("_run__#{klass.split("::").last}__#{kind}__#{key}__callbacks", &blk)
      end