Uses Map and SparseArray (no more ContentValues - stupid me).