Prefer promises over rootscope broadcasts