I think we should have this method in a util class. @mlaflamm suggested to integrate it with Traced to support both timing and tracing around futures.