return deferred.promise instead of deferred

in order to protect it's reject and resolve
Merge pull request #6 from strwind/master

Return deferred.promise instead of deferred