Require destinations when they are needed and do not fetch all of them in advance

Fixes #5266.
I think you should add documentation for the parameter here, e.g.
```javaScript
* @param {string} id The destination to get.
```