Keeping track of what's going on in your remotely running stateless servers can be a challenge, but it doesn't have to be a chore.
Making sure that you have a single, simple, well-understood entry point to your service.
Everything must be made as simple as possible, but no simpler. But why?
State belongs in clients and database, nowhere in between.
When building a UI, a small change in the way that you think about the user's requests can significantly change the way that you communicate about exceptional conditions.