Major Refactor and Residence Resource

Empty probably makes more sense so that when the bean is serialized it shows up as {} or [] or whatever.