angularjs app.run não é chamado com state

Não consigo ver o problema, aqui está o meu código.

var app = angular.module('application', ['ui.router', 'ngResource','user.controllers','user.services']);

app.config(function ($stateProvider, $urlRouterProvider) {

  $stateProvider.state('home', {
    url: '',
    templateUrl: 'views/home.html'

  }).state('account', {
    url: '/account',
    templateUrl: 'views/user/account.html',
    controller: 'UserCtrl'

  }).state('login', {
    url: '/login',
    templateUrl: 'views/user/login.html',
    controller: 'UserCtrl'

  }).state('logout', {
    url: '/logout',
    templateUrl: 'views/user/logout.html',
    controller: 'UserCtrl'

  }).state('register', {
    url: '/register',
    templateUrl: 'views/user/register.html',
    controller: 'UserCtrl'
  });
});


app.run(function ($rootScope, $state) {
  $rootScope.$on("$stateChangeStart", function (event, toState, toParams, fromState, fromParams) {
    console.log('toState.name: ' + toState.name);
    console.log('fromState.name: ' + fromState.name)
  });
});

Parece bem simples de fazer, mas simplesmente não funciona. Tenho certeza de que é uma coisinha que não sei sobre o Angular, portanto qualquer ajuda seria apreciada.

Obrigado!

questionAnswers(1)

yourAnswerToTheQuestion