How does Angular.js handle event bindings such as "ng-click"?

If I inspect the HTML output in the DOM using Chrome Dev Tools, I only see 2 classes added to elements which have "ng-click" directives, "ng-scope" and "ng-binding". How does Angular bind to the DOM to intercept these? Does it attach to the topmost element, and keep a big object in memory mapping events to DOM elements they are registered to, and make use of event bubbling? or something else?