Does the annotator require that we put properties `id` and `userId` on the data object for it? If not, it would be better to avoid updating it directly with our custom data. We don't know how this annotation data may mutate over versions of the annotator.

I'd recommend either:

* Wrap the data object in a parent object like: `{'annotationId': page + '_" + Shortid.generate(), 'userId': ctx.user().id, 'data': data}`; or
* Store both the `userId` and `annotationId` on the column name

Both would work, but the 2nd may have unintended side-effects of impacting the order in which annotations are fetched from the row if you aren't careful.

Which reminds me, if we are at all relying on page ordering for annotations to do lazy-loading, the string representation of annotation `5_<random id>` will appear after annotation `12_<random id>`. We would either need to pad the page number with 0's, or incorporate support for numeric column name ordering at the `cassandra.js` / schema level.