is just a base module responsible for loading extension (Data::Keys::E::*) during the object build time. It just makes sure one of the extensions supplied get() and set() method. The rest is up to the extensions.

get() should be called with one argument a $key and return value for it. set() should be called with $key and $value arguments returning modified (if it was) $key.

So far I've created this extensions:

How I want to use it now? Value::InfDef to help reading folders full of JSON files. Key::Auto to store data as Git does - based on the hash of data. Key::Adapt to easily access Debian distribution files in the pool folder or CPAN distributions files based on the AUTHORID/DISTRIBUTION in CPAN mirror folder structure.

For now there is just folder storage as I want to use it for some tasks, but it should be quite easy to create any key/value storage extension.