+ Eliminate hundreds of thousands of field iterations via pointer variables
  in process_fields_in_submap (instead of if(ptr->findField(..) && ptr->findField(..)->something() ) {
  ptr->findField(same_freaking_field)->stuff

+ Further reduce instructions per turn by switching from stdlib iteration to integer
  iteration in findField