Rework property instantiations so overloading works correctly