The page looked wrong because it was showing the correct state too late.
The fix was not another component. It was deciding which route owned the data, which layout could wait, and what the page should show before the response arrived.
An interface is often where an earlier decision becomes visible.