Might update, pretty hard to test as I don't have the services.
May have to use $timeout(function () { $scope.$apply(); });