On creating clients

When creating clients, best practice is to keep the clients as very light, and to place most of the data, as well as most of the functionality, into components.

You should also start with some limited set of client behaviors, which have a lifetime scoped to the state, and should contain most of the interesting code.