Adding support for ViewLocationExpanders to allow modifying view locations

Fixes #1039
Remove the cache key from being exposed, both here and on the context