InspectState
Reworks `InspectState` in two ways: - Renames `inspect_with` to `inspect_state` to reflect the trait name. - Make `inspect_state` return the result of the closure