A database agnostic MVC