function createListener(msg) {
  function listener(err) {
    if (msg.__onFinished === listener) msg.__onFinished = null
    if (!listener.queue) return

    var queue = listener.queue
    listener.queue = null

    for (var i = 0; i < queue.length; i++) {
      queue[i](err)
    }
  }

  listener.queue = []

  return listener
}
Create listener on message.

@param {object} msg
@return {function}
@api private