# File lib/merb-parts.rb, line 28
    def part(opts = {})
      # Extract any params out that may have been specified
      klasses, opts = opts.partition do |k,v| 
        k.respond_to?(:ancestors) && k.ancestors.include?(Merb::PartController)
      end       
        
      opts = Hash[*(opts.flatten)]
      
      res = klasses.inject([]) do |memo,(klass,action)|
        memo << klass.new(self, opts)._dispatch(action)
      end
      res.size == 1 ? res[0] : res
    end