     # mainly is used to exclude or account for abstract classes.
     @abstract yes
 
+    # Use this static method to mark up the remote/external methods
+    # that need to be automaticalled called, once everything is set
+    # on the client site and before the entrypoint gets executed. It
+    # is a get idea to place generic or setup code in the autocalls.
+    @autocall: (parameters..., method) ->
+        compiler = method?.remote?.compile
+        noRemote = "no valid remote is passed"
+        assert _.isFunction(compiler), noRemote
+        parameters = [] unless _.isArray parameters
+        method.remote.autocall = parameters
+        return method
+
     # 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 synchronous way for greater functionality.

    deployContext: (context) ->
        assert _.isObject context
        prepared = JSON.stringify context
        entrypoint = @entrypoint.remote.source
        installer = "var context = #{prepared}"
        invoker = "context.entrypoint(context)"
        _.forIn this, (value, key, object) ->
            return unless _.isObject value.remote
            return unless src = value.remote.source
            set = "context.%s = (#{src})()"
            installer += "\r\n#{format set, key}\r\n"
        context.sources.unshift installer
        context.sources.push invoker
        return context

    # Get the contents of the resources at the established path. It

    # of the resource. Use for unobtrusive retrieval of resources.
    GET: (request, response) ->
        noPrelude = "no prelude method detected"
        assert _.isFunction(@prelude), noPrelude
        context = scripts: [], sources: [], styles: [], sheets: []
        context.doctype = "<!DOCTYPE html>"
        prelude = @upstreamAsync "prelude", =>
            context = @deployContext context
            context = @issueAutocalls context
            compiled = @compileContext context
            length = compiled.length or undefined
            response.setHeader "Content-Length", length
