It seems we're doing this in a lot of areas. Would it be worth refactoring in to a table of some kind?