Provider now takes single prop provide
if provide is an {object} then the provide object is provided to child injectors
if provide is a {function} then the return value of the provide function is provided to child injectors
the object form automatically forwards parent provided values in situations where Providers are nested
the function form takes parentProvided as an argument and you can manipulate, ignore, or re-provide the parentProvided values as you see fit.