I wish you were wrong about this, but it's true. If we were good software engineers, we would use our own API to function. Instead the API has formed around existing code and is kind of a dirty cellar with lots of cobwebs and stuff that bites.
I'll take a look to see if that didn't make it into the API.