I guess at least that way is easier to have bindings.
I like COM as idea, but the tooling execution could be so much better.