# File lib/couchrest/mixins/callbacks.rb, line 97
      def initialize(filter, kind, options, klass, name)
        @kind, @klass = kind, klass
        @name         = name
        
        normalize_options!(options)

        @per_key              = options.delete(:per_key)
        @raw_filter, @options = filter, options
        @filter               = _compile_filter(filter)
        @compiled_options     = _compile_options(options)
        @callback_id          = next_id

        _compile_per_key_options
      end