 
   # for sending interrupts
   signal: (channel, data) ->
+
+# Expose 'bus' access for internal methods, wiretaps.
+# Non-enumerable, non-configurable, non-assignable.
+Object.defineProperty core, 'bus', {value: bus}
+
+
+module.exports = core
    # Subscribe to the 'err' response for topicId
    # We don't pass a callback immediately so that we can
    # refer to the subscription itself in the callback.
    errSub = bus.subscribe {
      channel: replyTo.channel
      topic: replyTo.topic.err
      callback: callback

    onTimeout = ->
      err = new Error "Request timed out on channel '#{channel}'"

      core.bus.publish
        channel: replyTo.channel
        topic: replyTo.topic.err
        data: err
