Great tips from everyone. I know that I try to look for opportunities to tie things back to historical player actions whenever possible. It often fools players into thinking that I had some grand over-arching story planned from the beginning that played out perfectly. In truth, most of it just looked that way in the very end. Making someone evil appear friendly before turning on the players is hard to do (they might detect evil or see through the guise) but genuinely having a friendly NPC that they have grown to love end up being some cunning and devious villain all along is very easy to retcon after the fact. You just have to explain why they were helping them up to this point. Was it to get the players to overthrow their villainous rival? Was it to learn more about the players' strengths and weaknesses before taking them on?