void Start() { inputEventProvider.Drive .Where(_ => remainingJumpCooldownTimeSeconds <= 0) .WithLatestFrom(stateStore.IsPlayerJumpable(), (_, x) => x) .Where(x => x && IsJumpable()) .Subscribe(_ => Jump()) .AddTo(this); }