Issue #2786049 by Sam152, anon: Make entity URL substitutions pluggable to support a wider variety of use cases