scrape objects' top-level properties at time of invocation so that when they're inspected later, they'll resemble their state before mutation