http://www.codelord.net/2015/09/24/$q-dot-defer-youre-doing-it-wrong/ https://www.airpair.com/angularjs
http://www.michaelbromley.co.uk/blog/350/exploring-es6-classes-in-angularjs-1-x