[Design] Adding support for ViewLocationExpanders to allow modifying view locations

Fixes #1039


this should be sync