Push appropriate events when the underlying table change.
Fix data access to use cursor ID instead of always row ID.
Implement adding and removing of columns in underlying table.
Make everything update when columns are added/removed.
SConcurrentDatabase
, which can perform reader-writer locking.