code: function ResponseCache(appName, ttl) {
  	this.enabled = false;
  	this.ttl = undefined;
  
  	if (typeof ttl === 'number') {
  		if (ttl < 1) {
  			throw new Error('Response cache *must* expire, 0 TTL not accepted.');
  		}
  
  		if (mage.core.archivist.topicExists('ucResponseMeta') || mage.core.archivist.topicExists('ucResponseData')) {
  			// touch is not really called, but we do it to enforce TTL support
  
  			mage.core.archivist.assertTopicAbilities('ucResponseMeta', ['session'], ['set', 'get', 'touch']);
  			mage.core.archivist.assertTopicAbilities('ucResponseData', ['session'], ['set', 'get', 'touch']);
  
  			this.ttl = ttl;
  
  			this.enabled = true;
  
  			logger.info('User command response enabled for app', appName, 'with TTL:', ttl, 'sec');
  		} else {
  			logger.warning(
  				'Archivist topics "ucResponseMeta" and "ucResponseData" not configured.',
  				'User command response cache disabled for app:', appName
  			);
  		}
  	} else {
  		logger.warning('Falsy Response Cache TTL configured. User command response cache disabled for app:', appName);
  	}
  }
docs: meta data format:  topic: ucResponseMeta index: ['session'] data: queryId\n JSON-options