centralize TypeToken creation