simonm ++
The many "component API"s float around because of TIMTOWTDI.
This means that every API differs form the other to allow the frameworks to be slim, targeted, and not so general.
An unique API IMHO would not be so used because everyone would have to have the same mindset, or if it would allow for TIMTOWTDI it would be a big hard to mantain monster.