I’m curious about the architecture of your component layer. All your data modifications are in one place, but any number of components could be bound to whatever object is being modified. If you’re passing data through a tree of components, a child component could make a service call that changed data bound in a parent or sibling component. There doesn’t appear to be a way to follow the flow of data to get to the components that are changing other than the one that initiated the service call. In contrast, in unidirectional architectures like Flux or Redux you would be able to find what components subscribed to a particular store or slice of the state tree, and trace down through the component tree from there. It feels odd to me to call your architecture unidirectional, but I’m not an expert by any means.
Have you encountered any issues like that? Do you organize your components in a way that makes the data flow between them clearer? Am I completely out in left field on this? :)