I agree, Angular has the right implementation. It's just not clear that it needs quite so much stuff to solve one problem. And if it isn't solving one problem, why not?
Angular team is going to split the Core into several small modules, hopefully a data-binding module will be available to replace knockout and do nothing more ;)