There are two models: user and counter. The counter is available only to authenticated users.
Enter any name and click the button to log in. Login may fail at random — that's intentional for the demo. If it fails, just try again.
After a successful login, you can use the counter: increase, decrease, or reset it. These actions may also fail at random — try again if that happens. Think of it as a cart: add items, remove them, or clear it.
All actions are marked as async to demonstrate the asynchronous nature of the models.