SBC Games wrote a series of tutorials on building games that are easy to maintain: "Many tutorials show you how to build a game. Let’s say, you already have one. And because it is good and catchy, sponsors are interested in it. Your nice and clean code is step by step polluted with sponsor specific APIs.
If you are publishing your game with multiple sponsors, then you know, that almost every sponsor company has its own API. These APIs are usually very different. Our target today is to build new library, that will help us to manage these differences. It will also keep most of the sponsor stuff separated from game. Also, we want to implement every sponsor API only once for all games we may publish with such sponsor."