I'm not sure what the backend storage would look like at all, and it's probably worth sketching out a few of the ideas I thought of so the discussion elsewhere makes sense from an implementation perspective. Anyway, the various approaches I had in mind:

* store data in a new field on the node object
* have one external node storage object per node, but it's a different item in the database. Think of it like per-node data bag items.
* Make each key individually readable/writeable at the server API layer. The server could store them as a big JSON blob or as individual rows in a database (this is something we'd research, obviously).