Using $q promises instead of callbacks to get event data.