Hi Alex,

Sure, I put the simple demo code up on code.msdn.com with a brief description of how it works: http://code.msdn.microsoft.com/Contract-First-Authoring-f519ddf1

To answer your questions: yes, workflow services are most typically stateful services.  In .NET 4, we introduced the concept of content-based correlation with workflow services, which allows you to choose a particular piece of data in your input messages to determine which instance the host should load.  In this example, I used both the 'gameMoniker' parameter (for the JoinGame messages) and the players' names (for the subsequent messages).

Hope that helps,

-- Dave