I had the same question as #2. Basically, it has to be the front-end to any event that reads/writes the data, in strict order of occurrence?
But easier you do that by using a database that already provides a changestream like couchdb, Postgres, mongodb and so on.