Add comments, especially about calling scope.$digest to explain how it
works