Model Layer for Angular based on $watch pattern