Trying to implement yet another ODM / ORM