If you aren't allowed to directly insert angular bindings into your components, then you won't be able to fire off your digest cycle, and so angular will have no idea your data source has updated. One way of tackling this is to periodically call $apply, which will update your model with any external changes, like this:
setInterval($scope.$apply, 500);