I'd also add a comment making it clear that PreLoad and EffectiveSongsLoad shouldn't be called from the UI thread.