Limiter Can accept some limit. Concrete implementations likely are either Managers or limit some primitive transaction (like an io.Reader interface). Manager Can use a strategy to manage a group of Limiters