
1. attribute names must be mapped to column names in retrieve_where (cannot hard-code _id in classes either)
2. If object supplies a unique id, store() does an update, which is wrong the first time.
3. Retrieve queries return equivalent objects.
4. For performance, retrieve_where must take a callback
5. For performance, DBI::do should not be used.