Users can provide custom strategies by extending
adding a provider which overrides it.
The strategy takes advantage of the pre-existing
in the Router implementation:
We can copy the
resolve in a
non-breaking way by using a
symbol as the key. This ensures that we
do not have any collisions with pre-existing property names. By using
resolve, we do not have to add anything more to
the router navigation pipeline to support this feature.