I think your concern make sense, but if an user does have many songs in his SD card, and we ModeManager.push(MODE_SUBLIST) before the callback of musicdb.enumerateAll(), after he tap one playlist or one album, he will see an list without any songs for a long while, then the callback updates the list. That long period will also confuses users I think. For a better ux, maybe we can ask ux like only display 100 songs per every playlist, because the condition you mentioned happen on playlist mostly, I don't think there will be some album contains more than 100 songs. Another concern is that if we do ui updates while page transitioning, the updates of list will eat the performance for sure, so if we wait for the callback, we can also make sure there is no more ui updates and the page transitioning will be smoother.