State: State type of the system.
Request: Subset of state used to control the feedback loop.

When `request` returns a value, that value is being passed into `effects` lambda to decide which effects should be performed.
In case new `request` is different from the previous one, new effects are calculated by using `effects` lambda and then performed.

When `request` returns `nil`, feedback loops doesn't perform any effect.

@param requests Requests to perform some effects.
@param effects The request effects.
@param retryStrategy The retry strategy for the effects in case an error happends.
@returns The feedback loop performing the effects.
function reactSet(requests, effects, retryStrategy) {
        return reactWithLatest(function (state) {
            var requestInstances = requests(state);
            var identifiableRequests = [];
            requestInstances.forEach(function (request) {
                identifiableRequests.push({ id: request, request: request });
            });
            return identifiableRequests;
        }, function (request, _, scheduler) { return effects(request, scheduler); }, retryStrategy);
    }