WIP: Introduce notion of state objects

- Compose meteor client out of smaller objects that implement cohesive
protocols and do it based on state. The main goal being to break down
tasks and also to make state (il.e. connected) state more manageable.