I suggest you don't worry about data first.
Just elaborate your problem statement about what exactly you want to be done.
Then encapsulate 'behavior' into logical classes. The data is just a state needed by the objects to implement that behavior. You can think of each object as a FSM with its data as its 'state'.

The problem I see is if you finalize the class design based on 'common sense', then it may turn out to be unnecessarily complex.