Externalise CPU state into another struct