Do manual publish/subscribe, add a loading state.