Update the object cache/properties only when action is successful.

 Previously some object properties were being set before the event
 (change label/purge), and if that event threw an exception for some reason,
 the object would have a incorrect value, or not be present in the cache.
Merge pull request #41 from nigelgbanks/1.x-update-cache-on-successful-purge

Update the object cache/properties only when action is successful.