Optional
cacheIf true
and the value is a provider function, it is only invoked once.
Otherwise the function is invoked for every call for key.
Default is true
.
Optional
overwriteIf true
and there is a provider already, the existing provider is replaced.
Otherwise an error is thrown.
Options accepted by the register* functions.