Major Refactor and Residence Resource

This should definitely require some sort of auth header or something. I know we're still discussing this but maybe a TODO should be thrown in to remind ourselves.