moves resource-specific param recording into resource class and resource implementations now only record their special state.