Initial adapter interface
Default in-memory adapter, cleaning cache if it's not valid
Extract `getAdapter` & `setAdapter` methods to allow adapter overriding
Re-formatting
Updating readme
Updating version