Appropriate Use of Supercolum in Schema
===

I need to track versions of data in Cassandra.  I was thinking that the Version # would be a super column, the entity id would be the row id and then the columns I need to track would be the columns. So, for example, version 1 of entity would be:

 - supercolumn: v1
 - rowid: UUID
 - columns: timestamp, requestid, userid, state, data, etc...

When querying, the most common request will be 

 - give me version X for record y
 - give me the version X - 1 and X + 1
   for record y.

Of lesser importance, would be queries such as:

- give me all rows that are in state 1. 
- give me all records changed by userid x.
- give me all rows where timestamp is between x and y.

So is the above approach with supercolumns the best approach or is there a better schema to  accomplish the above.  Are there caveats to using/querying supercolumns that I need to be aware of?