I think the result of this method should be cached for the same request. Or at least we should somehow prevent `when` to be called twice in the same request.