first part of mongrel2 support refactoring
second (and last i hope) part of mongrel2 support refactoring