Consider data writing method. Currently it needs to know all types of tokens. Make generic one that can deal with any specific token. For example
token1> value value value value
token2> value value
token1> etc
This will be the same format as the current data files, but will be written by a more generic method. This was the Data class will do the writing and doesn't need to know what it's writing. When reading it will create a object within the instance with the data for that token - whatever it is. I.e.
a = lwData.Data()
a.Read('filename.dat')
a.token1, a.token2 returns full array of these
The acquisition class will decided what the tokens should be and what to store.
For now, the Data class has the details of which PVs to store and the tokens to use them - this is because the Data write / read isn't fully developed and for now the whole data structure is in one place and not in several files (!!!).