Shifts around when SongsWillRefresh happens so that it's possible to call certain functions in a way that they can await the refresh through checking "AreSongsRefreshing" started from the songswillrefresh call
Rework the NavigationControllerUpdater so a call to a specific method doesn't crash anymore and instead awaits in an async fashion