 
 _ = require "underscore"
 logger = require "winston"
+events = require "events"
 colors = require "colors"
 util = require "util"
 

# the supplied host, among other things. The exact matching logic
# is up to the handlers that implement the corresponding methods.
# This router just provides the infrastructure and boilerplating.
module.exports.Router = class Router extends Object

    # The method implements a middleware (for Connect) that looks
    # up the relevant routable and dispatches the request to the

        throw new Error(goneMatches) unless passMatches
        throw new Error(goneProcess) unless passProcess
        logger.info("Installing #{inspected} as fallback".magenta)
        @fallback = routable; @emit("install", routable); this
