Refactored to better adhere to OOD principals. Also major speedup because not initializing Map for each person