We need the ec - in fact I'm actually passing in a trampoline. It is now prepared.

In addition the pf should execute elsewhere. We want putIfAbsent to return asap as the pf body could take some time in general terms - not particularly in our use-case, but I think it is nice to be general.

Given that the future is determined only when there wasn't a previous key, we need therefore to retain promises in the map.