IGameplayClock
The implementation of this requires a bit of a special case for 0, so makes sense to implement in a central place.
ClicksPerSecondCalculator
ClicksPerSecondController
InputCountController
Attach
I've made the flow match `ClicksPerSecondCalculator` as close as possible. Hopefully this reads better.
Judgement{Tally -> CountController}
{KeyCounter -> InputCount}Controller
Adjust `GameplaySampleTriggerSource` to only switch samples when close enough to the next hit object
KeyCounterController
Doesn't change what it needs to test conceptually
KeyCounterDisplay
This allows to keep a coeherent state regardless of the progress of the play
SaveState()