function createHyperdriveSessionPDA (drive) {
  var obj = {
    lastCallTime: Date.now(),
    numActiveStreams: 0
  }
  for (let k in pda) {
    if (typeof pda[k] === 'function') {
      obj[k] = async (...args) => {
        obj.lastCallTime = Date.now()
        if (k === 'watch') {
          obj.numActiveStreams++
          let stream = pda.watch.call(pda, drive, ...args)
          stream.on('close', () => {
            obj.numActiveStreams--
          })
          return stream
        }
        return pda[k].call(pda, drive, ...args)
      }
    }
  }
  return obj
}
Provides a pauls-dat-api2 object for the given drive
@param {Object} drive
@returns {DaemonHyperdrivePDA}