Use mobx in strict mode
for state management and follow the flux architecture. This yields a unidirectional data flow:
state -> view -> action -> state
This creates a natural separation between view and state, which simplifies testing and makes the flow of code easier to follow.