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.