         watch = @watcher.watchDirectory.bind @watcher
         watch directory for directory in subjects
         watch paths.resolve __dirname, "../exposure"
-        watch library.toString(); this
+        watch library.toString(); return this
 
     # The utilitary method that is being called by either the kernel
     # or scope implementation to establish the desirable facade for

        @server = http.createServer @connect
        @server?.listen server.port, hostname
        @server.on "connection", (socket) ->
            socket.setNoDelay yes

    # Setup and attach Socket.IO handlers to each of the servers.
    # That is HTTP and HTTPS servers that are running and listening

        @connect.use @accepts = plumbs.accepts this
        @connect.use @sender = plumbs.sender this
        @connect.use @logger = plumbs.logger this
        return @connect.use @middleware

    # Setup a set of appropriate Connect middlewares that will take
    # care of serving static directory content for all configured
    # assets directory, using the options drawed from configuration.
    # You should override the method to tweak the creation process.
    connectStaticAssets: ->
        envs = nconf.get "env:dirs" or Array()
        dirs = nconf.get "assets:dirs" or Array()
        opts = nconf.get "assets:opts" or Object()
        pub = -> _.find envs, (dir) -> dir is "pub"
        assert _.isString(pub()), "no pub environment"
        assert _.isObject(opts), "no assets options"
        assert _.isArray(dirs), "no assets directories"
        @serveStaticDirectory d, opts for d in dirs
        return @serveStaticDirectory pub()

    # This method sets up the necessary internal toolkits, such as
    # the determined scope and the router, which is then are wired
