added 'keyMapper' function argument to Mapper toMap, fromMap methods