             providing = value?.providing or null
             return unless _.isFunction providing
             assert _.isFunction(value), internal
-            binder = (s) => s.on name, providing
+            binder = (s) => s.on name, providing(s)
             context.on "connection", binder
         return next()
 

            providing = value?.providing or null
            return unless _.isFunction providing
            assert _.isFunction(value), internal
            binder = (s) => s.on name, providing
            context.removeListener "connection", binder
        return next()

        assert _.isFunction(method), noMethod
        assert method.length >= 1, invalidArgs
        method.provider = Object.create {}
        method.providing = (s) -> method
        method.origin = this
        return method

