Refactoring and new driver

Abstract classes moved to own namespace
New driver which uses redis extension added