Moved base backend code

Base class is now abstract using abc.

Change-Id: I6113b50c8f641a043ea149984293b617cbc8adb1
Merge "Moved base backend code"