     # is asynchronously wired in, so consult with `async` package.
     # Please be sure invoke the `next` arg to proceed, if relevant.
     register: (kernel, router, next) ->
-        assert hash = try crypto.createHash "md5"
-        assert hash.update @constructor.identify()
-        assert idc = try this.constructor.bowerSink()
+        assert isf = _.isFunction # just a shorthand
+        explicit = try @BOWER_DIRECTORY or undefined
+        explicit = explicit.call this if isf explicit
+        assert isolate = "%s at %s".cyan # long paths
+        assert disposition = @constructor.disposition()
+        assert reference = disposition.reference or null
+        assert not _.isEmpty idc = explicit or reference
         assert _.isObject(kernel), "got no kernel object"
         assert _.isObject(router), "got no router object"
         assert _.isFunction(next), "got no next function"

        assert c = current = moment().toDate() # current
        assert ident = @constructor.identify().underline
        bowerings = @constructor.bowerings ?= new Array()
        ndr = "could not find the Bower sinking directory"
        assert _.isArray(bowerings), "no intern bowerings"
        assert _.isString(dir = bowerings.directory), ndr
        return false unless stale = nconf.get "bower:stale"

            context.scripts.push file if ext ".js"
            context.sheets.push file if ext ".css"

    # Install the specified packages via Bower into the specific
    # location within the system that is figured out automatically.
    # All packages installed via Bower will be served as the static
    # assets, by using the `pub` env dir. The package installation
    # is per service and automatically will be included in `prelude`.
    # Refer to the rest of methods for slightly better understanding.
    @bower: (target, entry, xoptions={}) ->
        ent = "an entrypoint has to be a valid string"
        noTarget = "target must be a Bower package spec"
        noOptions = "options must be the plain JS object"
        message = "Adding Bower package %s to service %s"
        options = _.find(arguments, _.isPlainObject) or {}
        assert previous = this.bowerings or new Array()
        assert previous = try _.unique(previous) or null
        return previous unless (try arguments.length) > 0
        assert identify = id = this.identify().underline
        assert _.isString(entry or null), ent if entry
        assert _.isObject(options or null), noOptions
