Currently we have our own version of Flux architecture to manage complex states in UI for hydrator. We should move away from this because,
1. Too much code to maintain (a lot of features have been added since we have started with flux)
2. Too much redundancies across different projects (for instance dispatchers).
And since some of the backend logic is done in UI (for instance handling streams, validators, plugin methods, widget-jsons etc.,) any more feature addition has to test the entire thing as everything is very tightly coupled right now. If we introduce the concept of 'Dumb' components and 'Presentational' components where the latter takes care of the business logic while the former functions in exactly one way, we could achieve re-usability and testing becomes easier.