Using Promise.reduce to evaluate callbacks satisfies all tests.