For the slowdown when things got busy, I'm quite puzzled on how to do that. But I'll dig into it.
Are you using a single surface sprite system, like Sprite Candy? If you're using plain old blitz sprites, this'll probably be the main culprit of killing the frame rate when things get busy.