Update skeleton tests to use page objects / browsers.
Delete redundant test helper code.
Setup the scheduler skeleton tests to fail in the correct manner.
Add DeckViewModel#next_card_upto to support repeat reviews over time.
Store the current review upto date into the session for now.
Change DeckViewModel#next_card → #next_card_upto (day)
Update system tests to use #perform_reviews_for_day.
Always run all tests with guard.
Reorganise DeckViewModel tests to just use FakeEventStore.
Add missing review in system tests.
Ensure that the trigger for a card being updated in DeckViewModel is an update from the callback, rather than #next_card_upto destructively consuming it.
Improve error reporting when an unexpected card is show in system tests.