code: func (k *Kontrol) cacheToken(key, signed string) {
  	if ct, ok := k.tokenCache[key]; ok {
  		ct.timer.Stop()
  	}
  
  	k.tokenCache[key] = cachedToken{
  		signed: signed,
  		timer: time.AfterFunc(k.tokenTTL()-k.tokenLeeway(), func() {
  			k.tokenCacheMu.Lock()
  			delete(k.tokenCache, key)
  			k.tokenCacheMu.Unlock()
  		}),
  	}
  }
docs: // cacheToken cached the signed token under the given key.
  //
  // It also ensures the token is invalidated after its expiration time.
  //
  // If the token was already exists in the cache, it will be
  // overwritten with a new value.