Basically NIP 78. Apps should use 30078 for key-valye storage in tags.
I agree. But I think we need a filesystem-like API for writing path-value pairs and listing directories. Something like gundb https://github.com/amark/gun#quickstart
Nostr is not going to work as a universal data layer if every list (directory) update overwrites the previous list and every new application needs to define its own event kinds that relays may need to integrate.
Discussion
Here is one such proposal requiring no NIP