Stopped using Moo, now to bare objects
Made extra_mapping handle nested mappings
Get rid of List::MoreUtils dependency
Use set-merge semantics for generated_by