#369 (2.5 seconds) restored to 8f45ce9094051bfb63daa2bcc0c5426d13def19c with atomic transactions and on the go saves.  Profiler wraps inner scope.
#369 (2.4 seconds) only construct the field_map once.