code: function Locker(timeout, logger) {
    this.rwlock = new Rwlock()
    this.activeLock = null
    this.count = 0
    this.logger = logger || { warn: function() {} }
    this.timeout = timeout 
  }
docs: /* Wraps rwlock to automatically release locks after some timeout,
  protecting us from any code failure that might never release a lock