 http = require "http"
 util = require "util"
 
+{Barebones} = require "./skeleton"
 {BowerSupport} = require "./bower"
-{Barebones} = require "./skeleton"
+{remote, external} = require "./remote"
 {Extending} = require "../nucleus/extends"
 {Composition} = require "../nucleus/compose"
 {Archetype} = require "../nucleus/arche"

        return sources.call this if compilable or null
        throw new Error invalid # nothing valid found

    # This server side method is called on the context prior to the
    # context being compiled and flushed down to the client site. The
    # method is wired in an asynchronous way for greater functionality.

        assert _.isObject(context or 0), "not context"
        assert _.isObject(request or 0), "not request"
        assert _.isString(symbol or null), "not symbol"
        if context.isRoot and context.toplevel then do =>
            context.inline -> try _.mixin _.string.exports()
            context.inline -> `assert = chai.assert || null`
            context.inline -> `logger = Object.create(log)`
            (context.inline -> logger.disableAll()) if quiet
            assert context.inline (this.mimicLoggingFacade)
            assert context.inline -> try logger.enableAll()
        assert inl = (try context.inline.bind context)
        inl -> $(document).ready => this.emit "document"
        assert remotes = this.constructor.remotes or []
        assert uniques = _.unique remotes or new Array()
        @inject context, rem, null for rem in uniques
