@task({keepLatest: true})
    *saveTask(type, data) {
        try {
            const currentTime = Date.now();
            if (!this.lastRevisionTime || currentTime - this.lastRevisionTime > this.MIN_REVISION_TIME) {
                yield this.performSave(type, data);
                this.lastRevisionTime = currentTime;
            } else {
                const waitTime = this.MIN_REVISION_TIME - (currentTime - this.lastRevisionTime);
                yield timeout(waitTime);
                yield this.performSave(type, data);
                this.lastRevisionTime = Date.now();
            }
        } catch (err) {
            Sentry.captureException(err, {tags: {localRevisions: 'saveTaskError'}});
        }
    }
Performs the save operations, either immediately or after a delay

leepLatest ensures the latest changes will be saved
@param {string} type - post or page
@param {object} data - serialized post data