I have some functions which return Futures. The callers register callbacks by onComplete.  
def makeHttpRequest(): Future[T] = ???
makeHttpRequest().onComplete {
  case Success(v) => ???
  case Failure(ex) => ???
}
Now I want to enable retries on these functions (or function callings). Is there any suggestion on how to achieve this?