Erro na transição de states entre módulos

Bom, tenho uma app AngularJS definindo um estilo de rotas aninhadas. Tenho dois módulos: XXX e YYY, onde YYY é uma dependência de XXX.

angular.module("XXX", ['YYY']);

No arquivo de configuração do módulo XXX defino um $stateProvider.state() que definirá os componentes basicos da tela. Além disso, o estado é abstrato.

// state definido no arquivo xxx.config.js
$stateProvider.state('site', {
            abstract: true,
            views: {
                'navbar@': {
                    templateUrl: 'scripts/components/navbar/navbar.html',
                    controller: 'NavbarController'
                },
                'menu@': {
                    templateUrl: 'scripts/components/menu/menu.html',
                    controller: 'MenuController'
                },
                'hamburger@': {
                    templateUrl: 'scripts/components/menu/menu-hamburger.html',
                    controller: 'MenuController'
                }
            },
            data: {
                requireLogin: false,
                hamburger: false,
                menu: true
            },
            resolve: {
                translatePartialLoader: ['$translatePartialLoader', function ($translatePartialLoader) {
                        $translatePartialLoader.addPart('global');
                    }
                ],
                mainTranslatePartialLoader: ['$translate', function ($translate) {
                    return $translate.refresh();
                }]
            }
        });

A função de configuração do meu módulo YYY define um estado abstrato, vinculando o estado XXX.site como parent, e outro estado concreto.

(function (angular) {
    "use strict";

    function PlenariaConfig($stateProvider) {

        $stateProvider.state('plenaria', {
            abstract: true,
            parent: "site",
            data: {
                requireLogin: true,
                hamburger: true,
                menu: false
            }
        })
        .state('plenaria.agendamento', {
            url: '/lista',
            views: {
                'content@': {
                    templateUrl: 'scripts/app/plenaria/plenaria.tmpl.html',
                    controller : "PlenariaController"
                }
            },
            permissions: {
                only: ['GESTOR']
            }
        });
    }
    angular
        .module('yyy', [])
        .config(['$stateProvider', PlenariaConfig]);
}(angular));

Quando aciono o item de menu que me direciona para a rota plenaria.agendamento, o seguinte erro é exibido.

angular.js:12520 Error: Could not resolve 'plenaria.agendamento' from state 'site'
    at Object.transitionTo (angular-ui-router.js:3140)
    at Object.go (angular-ui-router.js:3068)
    at angular-ui-router.js:4181
    at angular.js:17918
    at completeOutstandingRequest (angular.js:5552)
    at angular.js:5829

Fato é que o arquivo yyy.config.js, onde é definido a declaração e configuração do módulo YYY está exatamente igual a outro arquivo FUNCIONAL do sistema. Alguém sabe me dar uma luz sobre isso?

A quem possa interessar, o problema estava na declaração do módulo no meu controller.

Tinha declarado no meu controller da seguinte forma:

angular.module("plenaria", [])
        .controller("PlenariaController", ['$scope', '$uibModal', '$filter', 'message', PlenariaController]);
        function PlenariaController(){}
})();

Porém, quando o segundo parametro do module é passado, o angular entender que se está criando um novo módulo. Logo, o módulo correto era sobrescrito por um módulo sem configuração. Ocasionando assim no erro da pergunta.

A declaração para utilizar um módulo existente é:

angular.module("plenaria") // sem o segundo argumento
        .controller("PlenariaController", ['$scope', '$uibModal', '$filter', 'message', PlenariaController]);
        function PlenariaController(){}
})();