         }
     }
     
-    func invokeChannelWritabilityChanged() {
+    fileprivate func invokeChannelWritabilityChanged() {
         assert(inEventLoop)
         
         do {

        }
    }
    
    func invokeRegister(promise: Promise<Void>?) {
        assert(inEventLoop)
        assert(promise.map { !$0.futureResult.fulfilled } ?? true, "Promise \(promise!) already fulfilled")
        
        self.outboundHandler.register(ctx: self, promise: promise)
    }
    
    func invokeBind(to address: SocketAddress, promise: Promise<Void>?) {
        assert(inEventLoop)
        assert(promise.map { !$0.futureResult.fulfilled } ?? true, "Promise \(promise!) already fulfilled")

        self.outboundHandler.bind(ctx: self, to: address, promise: promise)
    }
    
    func invokeConnect(to address: SocketAddress, promise: Promise<Void>?) {
        assert(inEventLoop)
        assert(promise.map { !$0.futureResult.fulfilled } ?? true, "Promise \(promise!) already fulfilled")

        self.outboundHandler.connect(ctx: self, to: address, promise: promise)
    }

    func invokeWrite(data: IOData, promise: Promise<Void>?) {
        assert(inEventLoop)
        assert(promise.map { !$0.futureResult.fulfilled } ?? true, "Promise \(promise!) already fulfilled")

        self.outboundHandler.write(ctx: self, data: data, promise: promise)
    }

    func invokeFlush(promise: Promise<Void>?) {
        assert(inEventLoop)
        
        self.outboundHandler.flush(ctx: self, promise: promise)
    }
    
    func invokeWriteAndFlush(data: IOData, promise: Promise<Void>?) {
        assert(inEventLoop)
        assert(promise.map { !$0.futureResult.fulfilled } ?? true, "Promise \(promise!) already fulfilled")
        

        }
    }
    
    fileprivate func invokeErrorCaught(error: Error) {
        assert(inEventLoop)
        
        do {
