Simplify FailOnTimeout by using FutureTask