Added support for using adapters to provide support for different persistence layers
Added default Adapter that provides backwards compatibility