add MappedList and its interface
update TransactionMaster and TransactionItem to use MappedList instead
of separate list and map object