Generic Type for State