title: Angular provider $get not initialized
body: <p>The following code is included in my 'app.js' file and used within my config to configurate <code>$navigationProvider.doSomething()</code>. Test1 and Test3 are alerted, but I can't get my this.$get method working (any of the Test2 alerts). In my opinion it should get called on the initialization of my page, right? </p>
  
  <p>//providers.js</p>
  
  <pre><code>angular.module('myapp.providers', []).provider('$navigation', function() {
      var routes = {};
  
      function test () {
          alert(arguments);
      };
  
      alert('Test1');
  
      this.$get = ['$rootScope', '$location',
          function( $rootScope, $location) {
              $rootScope.$on('$locationChangeSuccess', function () {
                  alert('Test2');
              });
  
              alert('Test2');
  
              return {};
          }];
  
      this.doSomething = function () {alert('Test3')};
  });
  </code></pre>
  
  <p>//app.js</p>
  
  <pre><code>var app = angular.module('myapp', [
          'myapp.providers'
      ]).config(function ($locationProvider, $navigationProvider) {
          $navigationProvider.doSomething();
          $locationProvider.html5Mode(true);
      });
  </code></pre>
  
  <p>EDIT:</p>
  
  <p>I was able to get it working by adding a <code>.run(['$navigation'], function ($navigationProvider) {})</code> block to my 'myapp.providers' module. So to specify my question a little bit more, why is there no automatic initialization happening (since I'm configuring the provider in app.js)? Is there any other solution to get my provider initialized? An empty module.run()-block seems to be a little bit stupid to me!</p>