$scope.$on, not $scope.on. Of course.