             logger.info attaching.blue, inspected
             @emit "register", routable, @kernel
             (@registry ?= []).unshift routable
+            return callback routable
         register @kernel, this; @
 
     # Unregister the supplied service instance from the kernel router.

    # that it is capable of doing the routing functionality code.
    # If something is wrong, this method will throw an exception.
    # The method is idempotent, ergo no duplication of routables.
    register: (routable) ->
        identify = routable?.constructor?.identify()
        inspected = identify.toString().underline
        [matches, process] = [routable.matches, routable.process]

    # previously registered with the kernel router. This method does
    # modify the router register, ergo does write access to kernel.
    # It will also call hooks on the service, notifying unregister.
    unregister: (routable, callback) ->
        noClass = "broken routable: #{routable}"
        assert routable?.constructor?, noClass
        identify = routable.constructor.identify()
