Decouple Vuex
Is there a particular reason why Vuex is heavily coupled? [Here](https://github.com/ream/ream/blob/e4cf83e58a0ef643e94a8374194c06d0ed6bb3ed/packages/ream/app/entries/client.js#L15) and [here](https://github.com/ream/ream/blob/e4cf83e58a0ef643e94a8374194c06d0ed6bb3ed/packages/ream/app/entries/client.js#L34) and in many other places. Even though I understand that Vuex is a popular solution to state management, it's obviously [not the only one](https://github.com/cklmercer/vue-stash).

What I liked about Ream compared to Nuxt is that it's far less bloated and opinionated. However, it's not the case with Vuex.

I think Ream would benefit from the architectural point of view if Vuex was just a plugin, and the core didn't depend on it at all. To achieve that, you would have to allow plugins to intercept certain parts of the workflow where it'd be useful not only for Vuex but possibly for other plugins.