How to handle hafta
It's called a "compatibility layer", kids.
Think of it this way. You have the Ugly API, covered in warts, black as pitch and sin, controlled by some other group you have no control over.
Then you have your new project. You want to build your project as perfectly as possible, but you've ALSO got to work with the Ugly API, and you can't ruffle the feathers of the group that owns it.
What do you do?
You write your software the way you WANT to, with exactly the interface you think is best.
THEN, you pick the most irritating member of your team and you make him write a compatibility layer between the Ugly API and your beautiful API. You must pick the annoying one because he's going to be having meetings with the Ugly API team and you want to get at least some karmic revenge out of the deal.
Whenever you have to interact with the Ugly API, you use the compatibility layer.
When you interact with better APIs, you can use better approaches.
THAT'S how you do it. :)
Paris, because she'd put a bodyguard (or three) between herself and a hideous pub-goer, which is similar in spirit.