add some data caching so we can lookup address types multiple times without worrying that we'll loop through all the data everytime