Separate the reader state data into its own struct