* Reduce number of calls to last_reported_timestamp When a state is created, last_update is always the same as last_reported, and we only update it later if it changes so we can pre-set the cached property to avoid it being run when the recorder accesses it later. * fix cache not being overridden * coverage