take a close look at the /includes/ directory, and you will have everything you need to suite your needs. all these files are like the default API classes for your needs. each file have the specific functions to answer specific needs in code integration.
no need of more extensions...
2?CA == 1?US... but btw, it's a cent
EDIT... btw, discussing the code structure of vB would have more values on vBulletin.com than here... we already code new things because we need more features, having them implemented in vB means you discuss with the coders of it, at vBulletin.com !
I am not suggesting it be coded *in* vBulletin. It would be supported here, for the purpose of making extensions easier to write, more standardized, and to some extent, to help prevent incompatible changes in vB ripple through all of the extensions in the world (e.g., change in a functions parameters).
I have perused most of the code in include files, and have used a good deal of the common routines. While they offer decent functionality, they clearly do not provide many of the common requirements of writing an extension. If they did, we would not have to post lines of code everytime someone asks "How to I get a proper navbar?" or "How to I generate a list of forums that are accessible?", etc.