Added IDatabase interface

this interface can be implemented by the controller classes. It contains
generic methods that each controller class can (will) implement