gains toString(), hashCode(), equals()
need to commit() after delete
need to commit() after delete
return false if update() doesn't succeed (as opposed to simply detecting exception)
return false if remove() doesn't succeed (as opposed to simply detecting exception)
return false if update doesn't succeed (as opposed to simply detecting exception)
need to commit() after delete
need to commit() after delete
need to commit() after delete