   transport.addBinding = b.addBinding.bind b
   transport.removeBinding = b.removeBinding.bind b
   transport.listBindings = b.listBindings.bind b
+  transport.subscribeData = b.subscribeData.bind b
+  transport.unsubscribeData = b.unsubscribeData.bind b
 

class Binder
  constructor: (@transport) ->
    @bindings = {}

  addBinding: (binding, callback) ->
    from = binding.src

    return callback null, []

  subscribeData: (binding, datahandler, callback) ->
    id = bindingId binding.src, binding.tgt
    @subscriptions[id] = { handlers: [], binding: binding } if not @subscriptions[id]
    @subscriptions[id].handlers.push datahandler
    return callback null
  unsubscribeData: (binding, datahandler, callback) ->
    id = bindingId binding.src, binding.tgt
    subscription = @subscriptions[id]
    handlerIndex = subscription.handlers.indexOf datahandler
    return callback new Error "Subscription was not found" if handlerIndex == -1
    subscription.handlers = subscription.handlers.splice(handlerIndex, 1)
    return callback null

exports.Binder = Binder
exports.binderMixin = (transport) ->
