title: Deferreadiness until User is loaded, but depends on Session (Ember.Simpleauth)
body: <p>I have found several Posts about how to defer the readiness in my application. In my case I wan't to defer it only if the user is authenticated and then load the user. But in the case that the user is not authenticated the App can be immediately started.</p>
  
  <p>My current approach looks like this.</p>
  
  <pre><code>Ember.Application.initializer({
    name: 'authentication',
    initialize: function(container, application) {
  
      Ember.SimpleAuth.Session.reopen({
          user: function() {
            if (this.get('isAuthenticated')) {
              //hier müsste vielleicht der user mit der id 'me', dann gefunden werden
             return container.lookup('store:main').find('user', 'me');
            }
          }.property('isAuthenticated')
        });
  
      container.register('app:authenticators:backend',  GambifyApp.BackendAuthenticator);
      container.register('app:ownauth:facebook',  GambifyApp.FacebookBackendAuthenticator);
      Ember.SimpleAuth.setup(container, application);
      // By default the session is only injected into:['model', 'controller', 'view', 'route']
      container.injection('adapter', 'session', 'ember-simple-auth:session:current');
    }
  });
  </code></pre>
  
  <p>And this is where I try to reload my user.</p>
  
  <pre><code>Ember.Application.initializer({
    name: 'preloadcurrentUser',
    after: 'authentication',
    initialize: function(container, application) {
      var session = container.lookup('ember-simple-auth:session:current');
      if(session.get('isAuthenticated')){
          GambifyApp.deferReadiness();
          container.lookup('store:main').find('user', 'me').then(function(){
            GambifyApp.advanceReadiness();
          });
      }
  
    }
  });
  </code></pre>
  
  <p>The Problem is that when I check for isAuthenticated the session is only "initialized" but not yet loaded.</p>
  
  <pre><code>init: function() {
      var _this = this;
      this.bindToStoreEvents();
      var restoredContent      = this.store.restore();
      var authenticatorFactory = restoredContent.authenticatorFactory;
      if (!!authenticatorFactory) {
        delete restoredContent.authenticatorFactory;
        this.container.lookup(authenticatorFactory).restore(restoredContent).then(function(content) {
          _this.setup(authenticatorFactory, content);
        }, function() {
          _this.store.clear();
        });
      } else {
        this.store.clear();
      }
    },
  </code></pre>
  
  <p>The isAuthenticated is only changed after _this.setup. And that is only called after I want to initialize my User.</p>
  
  <p>So the current flow is like this:</p>
  
  <ol>
  <li>Authentication Init<br/>
  1.1 Session init<br/></li>
  <li>preLoadUser (but here not yet authenticated)<br/>
  --> session setup (which would then authenticate)<br/></li>
  </ol>
  
  <p>How could I hook into the setup of the session?</p>