ButtonState<T>:

pressed: Set<T>

pressedRepeat: Set<T>

released: Set<T>

down: Set<T>

update(): void

press(btn: T): void

pressRepeat(btn: T): void

release(btn: T): void