Pull all the trigger logic to the object and add the destroy method