Create generic cursor state class