GAGA: two-way binding view model