A small bug I've noticed is that NPCs on levels that are on a map tend to stay with the player at about a radius of 2-3 levels before removing themselves from the list
This would explain why I can dump an NPC that plays a song in one level, go to the level right next to it, dump a new npc with a new song and it still plays the song from the previous level
