How does data binding work in the AngularJS framework? I haven't found technical details on their site.