Apparently es6 promises aren't as composable like I thought...