add the AbstractUIHandler interface to run the notifyDataSetChanged() of the adapter in the UI thread
allow some debugging of the values that fail to be added to the database
log more errors
return whether the swap was done in the List or not
add size() to the Map based InMemoryDb
no need for an extra layer of exception catching
add pushModifyingTransaction() and popModifyingTransaction() to call notifyDatabaseChanged() only once when a batch of changes is finished
allow Map based InMemory databases to know when an element is added to the Map when loading from the database