https://jonathanaird.medium.com/observable-state-trees-a-state-management-pattern-for-flutter-2e5e1c5bc46a