Extended Mime Responder functionality

Using custom mime types, I've run into instances where I end up calling the same function over and over again for a specific type. After a little tweaking I came up with a monkey patch that allows to pass a default block at mimetype registration time, and allows responder block calls to take arguments. I uploaded the monkey patch so let me know your thoughts. It currently only works for ActionPack 1.13.3 but porting to Rails 2 should be easy enough. Here are a couple usage examples:

Example 1:

  Environment:

    Mime::Type.register "text/plain", :iphone do |controller|       controller.redirect_to :format => "html" unless controller.request.env['HTTP_USER_AGENT'].to_s =~ /Mobile.*Safari/     end

  Controller functionality:

    respond_to do |format|       format.iphone     end

Example 2:

  Environment:

    Mime::Type.register "text/plain", :debug do |controller, level, hash>       level ||= 3       text = case level            ...       end       hash.merge({:text => text})       controller.render hash     end

  Controller functionality:

    respond_to do |format|        format.debug 1, :action => "some_action", :layout => "debug"     end