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

Fixes #1039


Does it make sense to simply pass in a List into this method and expect the expander to manipulate that instance?