constructor({SingleUseTokenModel, validityPeriod, validityPeriodAfterUsage, maxUsageCount}) {
        this.model = SingleUseTokenModel;
        this.validityPeriod = validityPeriod;
        this.validityPeriodAfterUsage = validityPeriodAfterUsage;
        this.maxUsageCount = maxUsageCount;
    }
@param {Object} dependencies
@param {import('../../models/base')} dependencies.SingleUseTokenModel - A model for creating and retrieving tokens.
@param {number} dependencies.validityPeriod - How long a token is valid for from it's creation in milliseconds.
@param {number} dependencies.validityPeriodAfterUsage - How long a token is valid after first usage, in milliseconds.
@param {number} dependencies.maxUsageCount - How many times a token can be used.