Adding generic implementations to DatabaseReader, DatabaseWriter, DatabaseUpdater. Added tests coverage for each.