code: def process(offset = 0, instance = self,  &block)
        block.arity > 0 ? yield_objects(offset, instance, &block) : evaluate(instance, &block)
      end
docs: Processes a given +block+. Yields objects if the block expects any arguments.
   Otherwise evaluates the block in the context of +instance+.