Yeah, this needs to be changed. Particularly because of 

https://github.com/emberjs/ember.js/blob/master/packages/ember-routing/lib/system/router.js#L192

(it does seem like a bit of a smell that the only way to properly instantiate a route is through the `getHandler` fn.)

Is there a way to check if a container object has already been instantiated (and not instantiate it if it hasn't been already)? If we could, that would preserve the utility of this check, since the people getting tripped up by this expect stuff to be loaded on the controller because they know the route's `model` hook has been called, which can obviously only happen if the route's been instantiated.