# Structs
LimitedBackoff provides backoff rate limiter with limit functionality, when the limit is reached it stops to calculate next backoff.
RateLimitedExecutor provides self-contained entity that enables rate-limiting a given func execution (e.g: with an exponential backoff) without blocking the goroutine it runs on.
RateLimitedExecutorPool aggregates RateLimiterExecutor's by keys, each key element is self-contained and have its own rate-limiter.