Failed promise as a dedicated class
ResolvablePromise internally rely on ResolvedPromise and FailedPromise
Fail promise if callback throws