I think you're missing the definition of "needed." The articles did a good job of enumerating various object models in use as well as critiquing them. Just because the kernel does things the way it does today does not mean it is the best way or even a close-to-best way.
Any object model can be implemented in any sufficiently capable language. The key differences are in what the languages support "natively."