Add an abstract "data" layer over the database