call me narrow-minded but we are not creating a $q instance but a 'defer...

...red' instance. At least that's what AngularJS calls this (http://docs.angularjs.org/api/ng.$q) :

'The Deferred API
A new instance of deferred is constructed by calling $q.defer().'