$scope.safeApply contract and products