I am building a soft delete solution a la https://github.com/discourse/discourse/blob/master/app/models/concerns/trashable.rb . Right now I am manually finding which all associated models need to be deleted when a model is deleted and doing it manually in each model which of course is a not a good practice. How do I do it? I don't want to use a gem, I want to write logic in my own hands.