Big changes to the way properties and resource interact

More details in later commits