ExecutionContext needs to provide a hook similar to this:
def prepare[T, U](f: Try[T] => U): ExecutionContext
The idea is that prepare is invoked on the thread that is submitting a task for execution. The returned ExecutionContext is then used to do the actual execution. Such a hook should enable implementing Twitter's Local abstraction, for example.