I'm not clear on the comment about not being able to use `AnimationUtils.animateUsingClass()` with `resolve()`. Do you mean `Async.withTimeout()`? You could just pass `result.resolve` instead of `result.reject` to the fail handler above if you just wanted to make it so the callers always use `done()`. But I think it's probably good to let the callers know that the animation timed out.