The "waitFor" implementation makes the stores ordered and circular dependencies impossible, so the data flow is actually unidirectional. It's just that some stores are "before" other stores, even if I didn't show this in the diagram. Maybe I should update it putting the "destination" store for the horizontal line a bit below the other two - so the line wouldn't be horizontal anymore.